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.
Бывают ситуации, когда не достаточно одного запроса и ответа.
Т.е. идет несколько запросов/ответов прежде чем радиус и нас договорятся.
В таком случае для разделения разных сессий исполльзуется радиус атрибут State.
-
Nested Class Summary
-
Field Summary
-
Constructor Summary
ConstructorDescriptionRadiusSession
(byte[] state, String userName, RadiusAttribute.RadiusAttributeString userNameAttribute, P sessionParams) -
Method Summary
Modifier and TypeMethodDescriptionvoid
accessRequest
(RadiusProcessor<?, N, P> processor, RadiusListenerWorker<N> req, N nas, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet, int log_record_id) Сессионная обработка Access-Request.int
authentication
(RadiusProcessor<?, N, P> processor, RadiusListenerWorker<N> req, N nas, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet, int log_record_id) Сама аутентификация в модуле.boolean
checkPassword
(ru.bitel.bgbilling.kernel.network.radius.nas.Nas<?, ?, ?> nas, RadiusAttributeSet request, RadiusAttributeSet response, String openPassw, byte[] secret, byte[] authenticator)
-
Field Details
-
stateAttribute
public final byte[] stateAttribute -
userName
-
userNameAttribute
-
sessionParams
-
login
-
contract
-
errorCode
public int errorCode -
killTime
protected volatile long killTime
-
-
Constructor Details
-
RadiusSession
public RadiusSession(byte[] state, String userName, RadiusAttribute.RadiusAttributeString userNameAttribute, P sessionParams)
-
-
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
- TODOlog_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
- TODOnas
-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)
-