Class SaslFilter
- java.lang.Object
-
- org.apache.mina.core.filterchain.IoFilterAdapter
-
- org.apache.directory.api.ldap.codec.api.SaslFilter
-
- All Implemented Interfaces:
org.apache.mina.core.filterchain.IoFilter
public class SaslFilter extends org.apache.mina.core.filterchain.IoFilterAdapter
AnIoFilterAdapter
that handles integrity and confidentiality protection for a SASL bound session. The SaslFilter must be constructed with a SASL context that has completed SASL negotiation. Some SASL mechanisms, such as CRAM-MD5, only support authentication and thus do not need this filter. DIGEST-MD5 and GSSAPI do support message integrity and confidentiality and, therefore, do need this filter.- Author:
- Apache Directory Project
-
-
Field Summary
Fields Modifier and Type Field Description static String
BYTES
A session attribute key that holds the received bytes of partially received SASL message.static String
DISABLE_SECURITY_LAYER_ONCE
A session attribute key that makes next one write request bypass this filter (not adding a security layer).static String
OFFSET
A session attribute key that holds the offset of partially received SASL message.
-
Constructor Summary
Constructors Constructor Description SaslFilter(SaslClient saslClient)
Creates a new instance of SaslFilter.SaslFilter(SaslServer saslServer)
Creates a new instance of SaslFilter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
filterWrite(org.apache.mina.core.filterchain.IoFilter.NextFilter nextFilter, org.apache.mina.core.session.IoSession session, org.apache.mina.core.write.WriteRequest writeRequest)
void
messageReceived(org.apache.mina.core.filterchain.IoFilter.NextFilter nextFilter, org.apache.mina.core.session.IoSession session, Object message)
-
-
-
Field Detail
-
DISABLE_SECURITY_LAYER_ONCE
public static final String DISABLE_SECURITY_LAYER_ONCE
A session attribute key that makes next one write request bypass this filter (not adding a security layer). This is a marker attribute, which means that you can put whatever as its value. (Boolean.TRUE
is preferred.) The attribute is automatically removed from the session attribute map as soon asIoSession.write(Object)
is invoked, and therefore should be put again if you want to make more messages bypass this filter.
-
BYTES
public static final String BYTES
A session attribute key that holds the received bytes of partially received SASL message.
-
-
Constructor Detail
-
SaslFilter
public SaslFilter(SaslClient saslClient)
Creates a new instance of SaslFilter. The SaslFilter must be constructed with a SASL client that has completed SASL negotiation. The SASL client will be used to provide message integrity and, optionally, message confidentiality.- Parameters:
saslClient
- The initialized SASL client.
-
SaslFilter
public SaslFilter(SaslServer saslServer)
Creates a new instance of SaslFilter. The SaslFilter must be constructed with a SASL server that has completed SASL negotiation. The SASL server will be used to provide message integrity and, optionally, message confidentiality.- Parameters:
saslClient
- The initialized SASL server.
-
-
Method Detail
-
messageReceived
public void messageReceived(org.apache.mina.core.filterchain.IoFilter.NextFilter nextFilter, org.apache.mina.core.session.IoSession session, Object message) throws SaslException
- Specified by:
messageReceived
in interfaceorg.apache.mina.core.filterchain.IoFilter
- Overrides:
messageReceived
in classorg.apache.mina.core.filterchain.IoFilterAdapter
- Throws:
SaslException
-
filterWrite
public void filterWrite(org.apache.mina.core.filterchain.IoFilter.NextFilter nextFilter, org.apache.mina.core.session.IoSession session, org.apache.mina.core.write.WriteRequest writeRequest) throws SaslException
- Specified by:
filterWrite
in interfaceorg.apache.mina.core.filterchain.IoFilter
- Overrides:
filterWrite
in classorg.apache.mina.core.filterchain.IoFilterAdapter
- Throws:
SaslException
-
-