forum.bitel.ru http://forum.bitel.ru/ |
|
Помогите с radiusClient http://forum.bitel.ru/viewtopic.php?f=44&t=7373 |
Страница 1 из 1 |
Автор: | borisk [ 01 ноя 2012, 14:40 ] |
Заголовок сообщения: | Помогите с radiusClient |
Добрый день! К сожалению документация на radiusClient API невнятная. Подскажите, пожалуйста. Мне нужно послать AccountingStart/Stop в сторону своего фейкового radius сервера. Как мне сформировать начальный RadiusPacket ? |
Автор: | Amir [ 01 ноя 2012, 15:26 ] |
Заголовок сообщения: | Re: Помогите с radiusClient |
Функционал из Dialup (в Inet тоже должен работать) не подойдет? Цитата: Для того, чтобы отправлять дубликаты аккаунтинг запросов на другой хост, необходимо добавить в конфиг наса такие параметры:
Код: #Хост и порт, на который отправлять дубликат аккаунтинг радиус пакета radius.forward.host= radius.forward.port= #Секрет, которым подписывать пакет, если не указан, то используется секрет наса #radius.forward.secret= #Префикс, который нужно добавлять к атрибуту User-Name #radius.forward.user.name.prefix= #Суффикс, который нужно добавлять к атрибуту User-Name #radius.forward.user.name.suffix= |
Автор: | Amir [ 01 ноя 2012, 15:51 ] |
Заголовок сообщения: | Re: Помогите с radiusClient |
Выложили обновление модуля. Код: RadiusClient radiusClient = new RadiusClient( InetAddress.getByName( nasHost ), nasPort, nasSecret );
RadiusPacket request = radiusClient.createAccountingRequest(); request.setStringAttribute( -1, RadiusDictionary.User_Name, username ); request.setByteAttribute( -1, RadiusDictionary.Framed_IP_Address, ipAddressBytes ); //Future<Boolean> result = radiusClient.sendAsync( request ); boolean result = radiusClient.send( request, 5, TimeUnit.SECONDS ); |
Автор: | borisk [ 01 ноя 2012, 16:45 ] |
Заголовок сообщения: | Re: Помогите с radiusClient |
Огромное спасибо! Увы, дублирование RADIUS не подойдет, мне надо именно свои отправлять. |
Автор: | borisk [ 01 ноя 2012, 19:59 ] |
Заголовок сообщения: | Re: Помогите с radiusClient |
Вот только обнаружил маленькую проблему. Хотел в UserName подставить evt.getNewInetServ().getContractTitle(), а он null ![]() Почините или через ContractManager/Utils выкручиваться? |
Автор: | borisk [ 01 ноя 2012, 20:02 ] |
Заголовок сообщения: | Re: Помогите с radiusClient |
хмм... а от куда мне там взять sql connection? |
Автор: | Amir [ 01 ноя 2012, 20:09 ] |
Заголовок сообщения: | Re: Помогите с radiusClient |
Скорее всего через ContractManager/Utils/PreparedStatement. Это поле для отчетов используется, в Access не заполняется. Да и даже getNewInetServ().getComment() (как и contractComment, deviceTitle, interfaceTitle, typeTitle, accessCodeTitle) в Access'е будет null - чтобы память экономить. |
Автор: | Amir [ 01 ноя 2012, 20:14 ] |
Заголовок сообщения: | Re: Помогите с radiusClient |
В ServiceActivator? Попробуйте: Код: private ConnectionSet connectionSet; В потоке уже должен быть готовый ConnectionSet.
public Object connect() { ... ServerContext context = ServerContext.get(); this.connectionSet = context.getConnectionSet(); ... } |
Автор: | borisk [ 01 ноя 2012, 20:47 ] |
Заголовок сообщения: | Re: Помогите с radiusClient |
Спасибо, помогло |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |