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.base.server.logger.BGLogger
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
  • Constructor Details

    • AbstractRadiusProcessor

      public AbstractRadiusProcessor(Setup setup, String module, int moduleId, ru.bitel.bgbilling.kernel.network.radius.nas.NasList<C,N> nasList) throws ru.bitel.bgbilling.common.BGException
      Throws:
      ru.bitel.bgbilling.common.BGException
  • Method Details

    • checkLoginAndContract

      protected void checkLoginAndContract(Login login, Contract contract)
    • executeError

      protected int executeError(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, Connection con, String userName)
    • getLogin

      protected abstract Login getLogin(Connection con, int cid, Card card)
    • accessRequestImpl

      protected void accessRequestImpl(RadiusListenerWorker<N> req, N nas, RadiusPacket request, RadiusPacket response, Date date, RadiusSession<N,P> radiusSession, int logRecordId, ConnectionSet connectionSet)
      Overrides:
      accessRequestImpl in class RadiusProcessor<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

      Внутри логики должен найтись логин, провериться пароль, и, если все нормально, вызваться
      invalid reference
      #authorization(RadiusListenerWorker, Nas, RadiusSession, RadiusPacket, RadiusPacket, ConnectionSet, int, ContractManager, Contract, Object, String)
      Specified by:
      authentication in class RadiusProcessor<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(Connection con, int contractId, Set<Integer> sidSet)
    • addCommonStatusData

      protected void addCommonStatusData(StringBuilder report)