Class SaslFilter

  • All Implemented Interfaces:
    org.apache.mina.core.filterchain.IoFilter

    public class SaslFilter
    extends org.apache.mina.core.filterchain.IoFilterAdapter
    An IoFilterAdapter 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
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.apache.mina.core.filterchain.IoFilter

        org.apache.mina.core.filterchain.IoFilter.NextFilter
    • 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)  
      • Methods inherited from class org.apache.mina.core.filterchain.IoFilterAdapter

        destroy, event, exceptionCaught, filterClose, init, inputClosed, messageSent, onPostAdd, onPostRemove, onPreAdd, onPreRemove, sessionClosed, sessionCreated, sessionIdle, sessionOpened, toString
    • 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 as IoSession.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.
      • OFFSET

        public static final String OFFSET
        A session attribute key that holds the offset 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 interface org.apache.mina.core.filterchain.IoFilter
        Overrides:
        messageReceived in class org.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 interface org.apache.mina.core.filterchain.IoFilter
        Overrides:
        filterWrite in class org.apache.mina.core.filterchain.IoFilterAdapter
        Throws:
        SaslException