The approach here is to revive the SASL protocol from JGroups 4.x [1] back into ISPN. We integrate the protocol with the security realm and inject it into the protocol stack.
The configuration schema needs to be updated. The transport configuration accepts the realm to apply:
<transport cluster="${infinispan.cluster.name:cluster}" stack="${infinispan.cluster.stack:tcp}" node-name="${infinispan.node.name:}" server:security-realm="transport" />
We'll provide a `transport` realm by default. When enabled, local communication uses the `LocalUserAuthenticationMechanism` for authentication. Clustered communication would need the CLUSTER role and should be possible to create through the CLI. Users would need to create a user in the `transport` realm.
[1]: https://github.com/belaban/JGroups/blob/4.x/src/org/jgroups/protocols/SASL.java