forum.bitel.ru http://forum.bitel.ru/ |
|
Модернизация скрипта обработки запроса уч.периода http://forum.bitel.ru/viewtopic.php?f=5&t=1244 |
Страница 1 из 1 |
Автор: | and [ 23 июн 2008, 17:33 ] |
Заголовок сообщения: | Модернизация скрипта обработки запроса уч.периода |
Здравствуйте! Хотел бы поинтересоваться реально ли дополнить данный скрипт проверкой логина на присутствие реалма(http://wiki.bgbilling.ru/index.php/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0_%D1%83%D1%87%D0%B5%D1%82%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%B5%D1%80%D0%B8%D0%BE%D0%B4%D0%B0)? То есть если пользователь подключается с реалмом то деньги снимаются, а если без реалма, то учётный период не добавляется, и не снимаются деньги? Спасибо! |
Автор: | and [ 24 июн 2008, 17:52 ] |
Заголовок сообщения: | |
Подскажите пожалуйста как подправить что бы проверялся реалм и при наличии его скрипт заканчивал работать? |
Автор: | Администратор [ 25 июн 2008, 12:10 ] |
Заголовок сообщения: | |
В данный момент это невозможно, в событии не передается логин входа. |
Автор: | and [ 25 июн 2008, 12:18 ] |
Заголовок сообщения: | |
Администратор писал(а): В данный момент это невозможно, в событии не передается логин входа.
плохо! А вообще как нибудь реализовать возможно? ну например скриптом переработки радиус-запроса? Что бы в зависимости от логина запускал скрипт или не запускал? |
Автор: | and [ 25 июн 2008, 15:57 ] |
Заголовок сообщения: | |
Может хоть кто нибудь подскажет как реализовать выполнение/невыполнение скрипта в зависимости от того используется реалм или нет? |
Автор: | S [ 25 июн 2008, 16:25 ] |
Заголовок сообщения: | |
От себя могу сказать: можно проверять при аутентификации, какой прилетает login, и от этого совершать необходимые действия. |
Автор: | and [ 25 июн 2008, 16:28 ] |
Заголовок сообщения: | |
S писал(а): От себя могу сказать: можно проверять при аутентификации, какой прилетает login, и от этого совершать необходимые действия.
А можно пример? |
Автор: | S [ 25 июн 2008, 16:42 ] |
Заголовок сообщения: | |
)) Сам сижу ковыряюсь медленно. Пример...ну вот пример, печатает Calling-Station-Id: Код: import bitel.billing.server.radius.*;
request = event.getRequest(); login = event.getLogin(); callingStation = request.getStringAttribute( 31 ); print (callingStation); print (login); Выполнение будет в логах радиуса, script.log. Это функция скрипта поведения, тип: авторизация RADIUS Радиус надо рестартовать, при каждом изменении. |
Автор: | and [ 25 июн 2008, 17:12 ] |
Заголовок сообщения: | |
S писал(а): ))
Сам сижу ковыряюсь медленно. Пример...ну вот пример, печатает Calling-Station-Id: Код: import bitel.billing.server.radius.*; request = event.getRequest(); login = event.getLogin(); callingStation = request.getStringAttribute( 31 ); print (callingStation); print (login); Выполнение будет в логах радиуса, script.log. Это функция скрипта поведения, тип: авторизация RADIUS Радиус надо рестартовать, при каждом изменении. Это скрипт переработки радиус запроса, вот только я никак не могу понять как на вытащенном логине сделать условие при котором если логин с реалмом то скрипт поведения в договоре запускается, а если без реалма то он не запускается! |
Автор: | and [ 25 июн 2008, 17:18 ] |
Заголовок сообщения: | |
Или этот скрипт полностью занести в скрипт переработки радиус запроса и выполнять там? брать дату окончания учётного периода сравнивать с датой запроса и сделать условие при котором если дата запроса позже даты окончания учётного периода то выполняется скрипт запроса учётного периода! если дата запроса лежит в учётном периоде то скрипт заканчивается! Будет так работать? |
Автор: | S [ 25 июн 2008, 18:33 ] |
Заголовок сообщения: | |
Не подскажу. -( |
Автор: | and [ 26 июн 2008, 10:25 ] |
Заголовок сообщения: | |
S писал(а): ))
Сам сижу ковыряюсь медленно. Пример...ну вот пример, печатает Calling-Station-Id: Код: import bitel.billing.server.radius.*; request = event.getRequest(); login = event.getLogin(); callingStation = request.getStringAttribute( 31 ); print (callingStation); print (login); Выполнение будет в логах радиуса, script.log. Это функция скрипта поведения, тип: авторизация RADIUS Радиус надо рестартовать, при каждом изменении. Вставил в функции скриптов поведения тип (vpn)Radius аутенфикация всё рестартнул! и ничего нигде не в скрипт.лог ни в отчётах ничего нет! |
Автор: | S [ 26 июн 2008, 11:31 ] |
Заголовок сообщения: | |
Надо скрипт привязать на договор и пробовать проходить авторизацию. Скрипты реагируют на какое-либо действие. |
Автор: | and [ 26 июн 2008, 11:39 ] |
Заголовок сообщения: | |
S писал(а): Надо скрипт привязать на договор и пробовать проходить авторизацию. Скрипты реагируют на какое-либо действие.
естественно привязываю! пытаюсь подключиться, он меня пускает, только в логах ничего! |
Автор: | S [ 26 июн 2008, 11:42 ] |
Заголовок сообщения: | |
А у меня есть. Только скрипт.лог в дебаге по-моему у меня. По мануалу пишут, что в скрипт.лог валится все. |
Автор: | and [ 26 июн 2008, 11:48 ] |
Заголовок сообщения: | |
S писал(а): А у меня есть. Только скрипт.лог в дебаге по-моему у меня. По мануалу пишут, что в скрипт.лог валится все.
У мну стоит АЛЛ и ничего не выводит! выводит: INFO 26.06.2008 11:46:09 Process event cid:6; event:Event bitel.billing.server.processor.DefaultProcessor$RadiusAuthenticationEvent cid: 6; module: 2; type: 120 DEBUG 26.06.2008 11:46:09 Process event with user script ID: 1 и всё! |
Автор: | and [ 26 июн 2008, 13:30 ] |
Заголовок сообщения: | |
Может всё таки кто нибудь из разработчиков ответит? Реально ли вообще скриптами какими нибудь проверять логин и если он с реалмом запускать скрипт учётного периода или не запускать. Или сделать скрипт учётного периода в скрипте радиус авторизации и если учётный период идёт скрипт в условии не прохоит а если уч.период закрыт то скрипт исполняется! Или подскажите как примерно это реализовать? Заранее спасибо! |
Автор: | Администратор [ 26 июн 2008, 14:33 ] |
Заголовок сообщения: | |
А в "договоре" - "скрипт поведения" - "логи выполнения" есть чего-нибудь? |
Автор: | and [ 26 июн 2008, 15:02 ] |
Заголовок сообщения: | |
Администратор писал(а): А в "договоре" - "скрипт поведения" - "логи выполнения" есть чего-нибудь?
Всё нормально если брать скрипт по извлечению логина. Но как его совместить с учётным периодом? Если туда в условии добавить учётный период то он начинает ругаться что типа косячный скрипт и всё такое! Подскажите как их совместить? |
Автор: | and [ 27 июн 2008, 15:35 ] |
Заголовок сообщения: | |
Я всё ещё жду ответа по совмещению скриптов! Реально их совместить, или как нибудь по другому сделать реализацию выполнения скрипта при использовании реалма! |
Автор: | Администратор [ 30 июн 2008, 10:34 ] |
Заголовок сообщения: | |
Совместить их нереально, т.к. учетный период радиус готов принять только в тот момент, когда он его запрашивает специальным событием. То же самое относится к событию обработка ответа авторизации, после этого события радиус не получает учетные периоды а только модифицированный ответ авторизации, ну в базе может какие-то модификации совершатся. Я добавил в событие "Запрос учетного периода" поле loginName, но оно будет доступно только в 4.5. |
Автор: | and [ 30 июн 2008, 10:53 ] |
Заголовок сообщения: | |
Администратор писал(а): Совместить их нереально, т.к. учетный период радиус готов принять только в тот момент, когда он его запрашивает специальным событием.
То же самое относится к событию обработка ответа авторизации, после этого события радиус не получает учетные периоды а только модифицированный ответ авторизации, ну в базе может какие-то модификации совершатся. Я добавил в событие "Запрос учетного периода" поле loginName, но оно будет доступно только в 4.5. А возможно ли в скрипте radius авторизации сделать так что бы в зависимости от логина в базу данных напрямую вносились изменения по привязке скрипта поведения к договору? |
Автор: | Администратор [ 30 июн 2008, 14:07 ] |
Заголовок сообщения: | |
Эта обработка происходит прямо перед отправкой ответа. В данном случае ответ будет "Ошибка установки учетного периода". Вы можете его занести в базу, конечно. При следующей авторизации все ок должно стать. Но как-то неудобно. Сначала отлуп - потом пустило.. |
Автор: | and [ 30 июн 2008, 14:15 ] |
Заголовок сообщения: | |
Администратор писал(а): Эта обработка происходит прямо перед отправкой ответа. В данном случае ответ будет "Ошибка установки учетного периода".
Вы можете его занести в базу, конечно. При следующей авторизации все ок должно стать. Но как-то неудобно. Сначала отлуп - потом пустило.. Я не много не понял! Как будет происходить дело? Я думал что выполнится скрипт radius авторизации в нём происходит запись в базу данных то что у данного договора стоит скрипт поведения "запрос учётного периода", дальше выполняется этот скрипт? или при автоизации запоминается какие есть скрипты и только они выполняются? |
Автор: | and [ 01 июл 2008, 09:38 ] |
Заголовок сообщения: | |
Если попробовать 4.5 то в запросе учётного периода можно проверять с каким именем пользователя зашёл пользователь? и примерно как это выглядит? |
Автор: | and [ 02 июл 2008, 09:51 ] |
Заголовок сообщения: | |
up |
Автор: | and [ 03 июл 2008, 12:05 ] |
Заголовок сообщения: | |
Всё таки подскажите как использовать LoginName в 4.5 как его сравнивать на наличие реалма? |
Автор: | Администратор [ 03 июл 2008, 12:55 ] |
Заголовок сообщения: | |
Ну просто смотрите есть ли там собачка. Типа того (если задача стоит не открывать период при входе с реалмом): Код: login = event.getLoginName();
pos = login.indexOf( '@' ); // в логине входа есть собачка - значит зашел с реалмом if( pos > 0 ) { // запрос обработан а период не вернули - будет отлуп event.setProcessed( true ); } |
Автор: | and [ 08 июл 2008, 09:49 ] |
Заголовок сообщения: | |
Администратор писал(а): Ну просто смотрите есть ли там собачка.
Типа того (если задача стоит не открывать период при входе с реалмом): Код: login = event.getLoginName(); pos = login.indexOf( '@' ); // в логине входа есть собачка - значит зашел с реалмом if( pos > 0 ) { // запрос обработан а период не вернули - будет отлуп event.setProcessed( true ); } Попробовал! Всё нормально работает! Спасибо! Будем ждать релиза! |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |