Class AbstractRadiusProcessor<C extends ru.bitel.bgbilling.kernel.network.radius.nas.NasConnection<?>,N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<C,?,?>,P>
java.lang.Object
ru.bitel.bgbilling.kernel.network.processor.Processor
ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor<C,N,P>
ru.bitel.bgbilling.kernel.network.radius.AbstractRadiusProcessor<C,N,P>
- Type Parameters:
N-P-
public abstract class AbstractRadiusProcessor<C extends ru.bitel.bgbilling.kernel.network.radius.nas.NasConnection<?>,N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<C,?,?>,P> extends RadiusProcessor<C,N,P>
Расширенная версия процессора, здесь уже напрямую используется структура и api биллинга
Используется только старым модулями dilaup и voiceip
-
Nested Class Summary
Nested classes/interfaces inherited from class ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor
RadiusProcessor.ConnectionIterator<C extends ru.bitel.bgbilling.kernel.network.radius.nas.NasConnection<?>,N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<C,?,?>> -
Field Summary
Fields inherited from class ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor
accountingIgnoreCount, accountingStartCounter, accountingStopCounter, accountingUpdateCounter, accountingUpdateIgnoreCount, antispamIgnoreCount, authenticationAcceptCounter, authenticationIgnoreCount, authenticationRejectCounter, forwardAccessAnswer, forwardAccessRequest, forwardAccountingResponse, forwardAfterPreprocess, forwardAfterProcess, module, nasList, setupFields inherited from class ru.bitel.bgbilling.kernel.network.processor.Processor
applicationId, moduleId -
Constructor Summary
Constructors Constructor Description AbstractRadiusProcessor(Setup setup, java.lang.String module, int moduleId, ru.bitel.bgbilling.kernel.network.radius.nas.NasList<C,N> nasList) -
Method Summary
Modifier and Type Method Description protected voidaccessRequestImpl(RadiusListenerWorker<N> req, N nas, RadiusPacket request, RadiusPacket response, java.util.Date date, RadiusSession<N,P> radiusSession, int logRecordId, ConnectionSet connectionSet)protected voidaddCommonStatusData(java.lang.StringBuilder report)protected intauthentication(RadiusListenerWorker<?> req, N nas, RadiusSession<N,P> session, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet, int log_record_id)Обработка Access-Request разделяется на два этапа - аутентификацию и авторизацию.
В данном методе должна проходить аутентификация.
Этот метод вызывается один раз за радиус сессию, т.е. сразу на Access-Request, если сессии нет,
или в конце обработки eap запросов.
Метод вызывается изRadiusSession
Внутри логики должен найтись логин, провериться пароль, и, если все нормально, вызватьсяRadiusProcessor.authorization(RadiusListenerWorker, Nas, RadiusSession, RadiusPacket, RadiusPacket, ConnectionSet, int, ContractManager, Contract, Object, String)protected intauthenticationImpl(RadiusListenerWorker<?> req, N nas, RadiusSession<N,P> session, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet, int log_record_id, boolean realtimeTariff)protected voidcheckLoginAndContract(Login login, Contract contract)protected booleancheckService(java.sql.Connection con, int contractId, java.util.Set<java.lang.Integer> sidSet)protected intexecuteError(java.sql.Connection con, N nas, RadiusPacket request, RadiusPacket response, int cid, int lid, int errorCode, int log_record_id)protected abstract LogingetLogin(java.sql.Connection con, int cid, Card card)protected abstract LogingetLogin(N nas, RadiusPacket req, RadiusPacket resp, java.sql.Connection con, java.lang.String userName)protected abstract ru.bitel.bgbilling.kernel.event.common.LocalEventnewRadiusAuthenticationEvent(RadiusPacket request, RadiusPacket response, RadiusSession<N,P> radiusSession, int logRecordId)Methods inherited from class ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor
accessRequest, accounting, accountingRequest, addToLog, afterNasListReload, authorization, connections, executeCommand, getAccessAcceptPerMinute, getAccessRejectPerMinute, getAccessRequestIgnorePerMinute, getAccountingStartPerMinute, getAccountingStopPerMinute, getAccountingUpdateIgnorePerMinute, getAccountingUpdatePerMinute, getActiveConnectionsCount, getAntispamIgnorePerMinute, getConnectionList, getNas, getNasList, getStatus, getStoppedConnectionCount, getSuspendedConnectionCount, insertToLog, newInstance, newRadiusSession, postprocessAccessRequest, postprocessAccountingRequest, preprocessAccessRequest, preprocessAccountingRequest, processConnections, reloadConfig, reloadNasListMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
Method Details
-
checkLoginAndContract
-
executeError
protected int executeError(java.sql.Connection con, N nas, RadiusPacket request, RadiusPacket response, int cid, int lid, int errorCode, int log_record_id) -
getLogin
protected abstract Login getLogin(N nas, RadiusPacket req, RadiusPacket resp, java.sql.Connection con, java.lang.String userName) -
getLogin
-
accessRequestImpl
protected void accessRequestImpl(RadiusListenerWorker<N> req, N nas, RadiusPacket request, RadiusPacket response, java.util.Date date, RadiusSession<N,P> radiusSession, int logRecordId, ConnectionSet connectionSet)- Overrides:
accessRequestImplin classRadiusProcessor<C extends ru.bitel.bgbilling.kernel.network.radius.nas.NasConnection<?>,N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<C,?,?>,P>
-
newRadiusAuthenticationEvent
protected abstract ru.bitel.bgbilling.kernel.event.common.LocalEvent newRadiusAuthenticationEvent(RadiusPacket request, RadiusPacket response, RadiusSession<N,P> radiusSession, int logRecordId) -
authentication
protected int authentication(RadiusListenerWorker<?> req, N nas, RadiusSession<N,P> session, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet, int log_record_id)Description copied from class:RadiusProcessorОбработка Access-Request разделяется на два этапа - аутентификацию и авторизацию.
В данном методе должна проходить аутентификация.
Этот метод вызывается один раз за радиус сессию, т.е. сразу на Access-Request, если сессии нет,
или в конце обработки eap запросов.
Метод вызывается изRadiusSession
Внутри логики должен найтись логин, провериться пароль, и, если все нормально, вызватьсяRadiusProcessor.authorization(RadiusListenerWorker, Nas, RadiusSession, RadiusPacket, RadiusPacket, ConnectionSet, int, ContractManager, Contract, Object, String)- Specified by:
authenticationin classRadiusProcessor<C extends ru.bitel.bgbilling.kernel.network.radius.nas.NasConnection<?>,N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<C,?,?>,P>
-
authenticationImpl
protected int authenticationImpl(RadiusListenerWorker<?> req, N nas, RadiusSession<N,P> session, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet, int log_record_id, boolean realtimeTariff) -
checkService
protected boolean checkService(java.sql.Connection con, int contractId, java.util.Set<java.lang.Integer> sidSet) -
addCommonStatusData
protected void addCommonStatusData(java.lang.StringBuilder report)
-