Class RadiusSession<N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<?,?,?>,P>

java.lang.Object
ru.bitel.bgbilling.kernel.network.radius.RadiusSession<N,P>
Type Parameters:
N -
P -
Direct Known Subclasses:
Digest5090RadiusSession

public class RadiusSession<N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<?,?,?>,P> extends Object
Радиус сессия.
Бывают ситуации, когда не достаточно одного запроса и ответа.
Т.е. идет несколько запросов/ответов прежде чем радиус и нас договорятся.
В таком случае для разделения разных сессий исполльзуется радиус атрибут State.
  • Field Details

    • stateAttribute

      public final byte[] stateAttribute
    • userName

      public final String userName
    • userNameAttribute

      public final RadiusAttribute.RadiusAttributeString userNameAttribute
    • sessionParams

      public final P sessionParams
    • login

      public Object login
    • contract

      public Contract contract
    • errorCode

      public int errorCode
    • killTime

      protected volatile long killTime
  • Constructor Details

  • Method Details

    • accessRequest

      public void accessRequest(RadiusProcessor<?,N,P> processor, RadiusListenerWorker<N> req, N nas, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet, int log_record_id)
      Сессионная обработка Access-Request. Каждый запрос сесии попадает сюда.

      В данной реализации происходит просто вызов RadiusProcessor#authentication(Nas, RadiusSession, RadiusPacket, RadiusPacket, Connection, Connection, int) Т.е. физически сессии нет - это один запрос-ответ. Возможно расширение для реализации, например eap.
      Parameters:
      processor -
      nas -
      request -
      response -
      con -
      conSlave - TODO
      log_record_id -
    • authentication

      public int authentication(RadiusProcessor<?,N,P> processor, RadiusListenerWorker<N> req, N nas, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet, int log_record_id)
      Сама аутентификация в модуле. Вызывается когда радиус-сервер и радиус-клиент договорились (handshaked)
      Parameters:
      processor -
      req - TODO
      nas -
      request -
      response -
      log_record_id -
      con -
      conSlave - TODO
      Returns:
    • checkPassword

      public boolean checkPassword(ru.bitel.bgbilling.kernel.network.radius.nas.Nas<?,?,?> nas, RadiusAttributeSet request, RadiusAttributeSet response, String openPassw, byte[] secret, byte[] authenticator)