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 java.lang.Object
Радиус сессия.
Бывают ситуации, когда не достаточно одного запроса и ответа.
Т.е. идет несколько запросов/ответов прежде чем радиус и нас договорятся.
В таком случае для разделения разных сессий исполльзуется радиус атрибут State.
Бывают ситуации, когда не достаточно одного запроса и ответа.
Т.е. идет несколько запросов/ответов прежде чем радиус и нас договорятся.
В таком случае для разделения разных сессий исполльзуется радиус атрибут State.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RadiusSession.State
-
Field Summary
Fields Modifier and Type Field Description Contract
contract
int
errorCode
protected long
killTime
java.lang.Object
login
P
sessionParams
byte[]
stateAttribute
java.lang.String
userName
RadiusAttribute.RadiusAttributeString
userNameAttribute
-
Constructor Summary
Constructors Constructor Description RadiusSession(byte[] state, java.lang.String userName, RadiusAttribute.RadiusAttributeString userNameAttribute, P sessionParams)
-
Method Summary
Modifier and Type Method Description void
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, java.lang.String openPassw, byte[] secret, byte[] authenticator)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
stateAttribute
public final byte[] stateAttribute -
userName
public final java.lang.String userName -
userNameAttribute
-
sessionParams
-
login
public java.lang.Object login -
contract
-
errorCode
public int errorCode -
killTime
protected volatile long killTime
-
-
Constructor Details
-
RadiusSession
public RadiusSession(byte[] state, java.lang.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, java.lang.String openPassw, byte[] secret, byte[] authenticator)
-