Search in sources :

Example 1 with SaslClientContext

use of org.jgroups.auth.sasl.SaslClientContext in project JGroups by belaban.

the class SASL method down.

public Object down(Message msg) {
    GmsHeader hdr = msg.getHeader(GMS_ID);
    Address remoteAddress = msg.getDest();
    if (needsAuthentication(hdr, remoteAddress)) {
        // We are a client who needs to authenticate
        SaslClientContext ctx = null;
        try {
            ctx = new SaslClientContext(saslClientFactory, mech, server_name != null ? server_name : remoteAddress.toString(), client_callback_handler, sasl_props, client_subject);
            sasl_context.put(remoteAddress, ctx);
            ctx.addHeader(msg, null);
        } catch (Exception e) {
            if (ctx != null) {
                disposeContext(remoteAddress);
            }
            throw new SecurityException(e);
        }
    }
    return down_prot.down(msg);
}
Also used : SaslClientContext(org.jgroups.auth.sasl.SaslClientContext) Address(org.jgroups.Address) GmsHeader(org.jgroups.protocols.pbcast.GMS.GmsHeader) SaslException(javax.security.sasl.SaslException)

Aggregations

SaslException (javax.security.sasl.SaslException)1 Address (org.jgroups.Address)1 SaslClientContext (org.jgroups.auth.sasl.SaslClientContext)1 GmsHeader (org.jgroups.protocols.pbcast.GMS.GmsHeader)1