BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 04 июл 2025, 12:26

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 29 ] 
Автор Сообщение
СообщениеДобавлено: 23 июн 2008, 17:33 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Здравствуйте!
Хотел бы поинтересоваться реально ли дополнить данный скрипт проверкой логина на присутствие реалма(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)?
То есть если пользователь подключается с реалмом то деньги снимаются, а если без реалма, то учётный период не добавляется, и не снимаются деньги?


Спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 24 июн 2008, 17:52 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Подскажите пожалуйста как подправить что бы проверялся реалм и при наличии его скрипт заканчивал работать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2008, 12:10 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
В данный момент это невозможно, в событии не передается логин входа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2008, 12:18 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Администратор писал(а):
В данный момент это невозможно, в событии не передается логин входа.


плохо! А вообще как нибудь реализовать возможно? ну например скриптом переработки радиус-запроса? Что бы в зависимости от логина запускал скрипт или не запускал?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2008, 15:57 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Может хоть кто нибудь подскажет как реализовать выполнение/невыполнение скрипта в зависимости от того используется реалм или нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2008, 16:25 
От себя могу сказать: можно проверять при аутентификации, какой прилетает login, и от этого совершать необходимые действия.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2008, 16:28 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
S писал(а):
От себя могу сказать: можно проверять при аутентификации, какой прилетает login, и от этого совершать необходимые действия.


А можно пример?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 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
Радиус надо рестартовать, при каждом изменении.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2008, 17:12 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
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
Радиус надо рестартовать, при каждом изменении.


Это скрипт переработки радиус запроса, вот только я никак не могу понять как на вытащенном логине сделать условие при котором если логин с реалмом то скрипт поведения в договоре запускается, а если без реалма то он не запускается!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2008, 17:18 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Или этот скрипт полностью занести в скрипт переработки радиус запроса и выполнять там? брать дату окончания учётного периода сравнивать с датой запроса и сделать условие при котором если дата запроса позже даты окончания учётного периода то выполняется скрипт запроса учётного периода! если дата запроса лежит в учётном периоде то скрипт заканчивается!

Будет так работать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2008, 18:33 
Не подскажу. -(


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 июн 2008, 10:25 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
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 аутенфикация
всё рестартнул!
и ничего нигде не в скрипт.лог ни в отчётах ничего нет!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 июн 2008, 11:31 
Надо скрипт привязать на договор и пробовать проходить авторизацию. Скрипты реагируют на какое-либо действие.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 июн 2008, 11:39 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
S писал(а):
Надо скрипт привязать на договор и пробовать проходить авторизацию. Скрипты реагируют на какое-либо действие.


естественно привязываю! пытаюсь подключиться, он меня пускает, только в логах ничего!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 июн 2008, 11:42 
А у меня есть. Только скрипт.лог в дебаге по-моему у меня. По мануалу пишут, что в скрипт.лог валится все.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 июн 2008, 11:48 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
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
и всё!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 июн 2008, 13:30 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Может всё таки кто нибудь из разработчиков ответит? Реально ли вообще скриптами какими нибудь проверять логин и если он с реалмом запускать скрипт учётного периода или не запускать. Или сделать скрипт учётного периода в скрипте радиус авторизации и если учётный период идёт скрипт в условии не прохоит а если уч.период закрыт то скрипт исполняется! Или подскажите как примерно это реализовать?

Заранее спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 июн 2008, 14:33 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
А в "договоре" - "скрипт поведения" - "логи выполнения" есть чего-нибудь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 июн 2008, 15:02 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Администратор писал(а):
А в "договоре" - "скрипт поведения" - "логи выполнения" есть чего-нибудь?


Всё нормально если брать скрипт по извлечению логина. Но как его совместить с учётным периодом?
Если туда в условии добавить учётный период то он начинает ругаться что типа косячный скрипт и всё такое! Подскажите как их совместить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 июн 2008, 15:35 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Я всё ещё жду ответа по совмещению скриптов!
Реально их совместить, или как нибудь по другому сделать реализацию выполнения скрипта при использовании реалма!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июн 2008, 10:34 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Совместить их нереально, т.к. учетный период радиус готов принять только в тот момент, когда он его запрашивает специальным событием.
То же самое относится к событию обработка ответа авторизации, после этого события радиус не получает учетные периоды а только модифицированный ответ авторизации, ну в базе может какие-то модификации совершатся.
Я добавил в событие "Запрос учетного периода" поле loginName, но оно будет доступно только в 4.5.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июн 2008, 10:53 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Администратор писал(а):
Совместить их нереально, т.к. учетный период радиус готов принять только в тот момент, когда он его запрашивает специальным событием.
То же самое относится к событию обработка ответа авторизации, после этого события радиус не получает учетные периоды а только модифицированный ответ авторизации, ну в базе может какие-то модификации совершатся.
Я добавил в событие "Запрос учетного периода" поле loginName, но оно будет доступно только в 4.5.


А возможно ли в скрипте radius авторизации сделать так что бы в зависимости от логина в базу данных напрямую вносились изменения по привязке скрипта поведения к договору?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июн 2008, 14:07 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Эта обработка происходит прямо перед отправкой ответа. В данном случае ответ будет "Ошибка установки учетного периода".
Вы можете его занести в базу, конечно. При следующей авторизации все ок должно стать. Но как-то неудобно. Сначала отлуп - потом пустило..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июн 2008, 14:15 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Администратор писал(а):
Эта обработка происходит прямо перед отправкой ответа. В данном случае ответ будет "Ошибка установки учетного периода".
Вы можете его занести в базу, конечно. При следующей авторизации все ок должно стать. Но как-то неудобно. Сначала отлуп - потом пустило..


Я не много не понял! Как будет происходить дело?
Я думал что выполнится скрипт radius авторизации в нём происходит запись в базу данных то что у данного договора стоит скрипт поведения "запрос учётного периода", дальше выполняется этот скрипт?
или при автоизации запоминается какие есть скрипты и только они выполняются?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 июл 2008, 09:38 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Если попробовать 4.5 то в запросе учётного периода можно проверять с каким именем пользователя зашёл пользователь? и примерно как это выглядит?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 июл 2008, 09:51 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
up


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2008, 12:05 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Всё таки подскажите как использовать LoginName в 4.5 как его сравнивать на наличие реалма?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2008, 12:55 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Ну просто смотрите есть ли там собачка.
Типа того (если задача стоит не открывать период при входе с реалмом):

Код:
login = event.getLoginName();
pos = login.indexOf( '@' );
// в логине входа есть собачка - значит зашел с реалмом
if( pos > 0 )
{
    // запрос обработан а период не вернули - будет отлуп
    event.setProcessed( true );               
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 июл 2008, 09:49 
Не в сети

Зарегистрирован: 06 мар 2007, 13:30
Сообщения: 457
Карма: 5
Администратор писал(а):
Ну просто смотрите есть ли там собачка.
Типа того (если задача стоит не открывать период при входе с реалмом):

Код:
login = event.getLoginName();
pos = login.indexOf( '@' );
// в логине входа есть собачка - значит зашел с реалмом
if( pos > 0 )
{
    // запрос обработан а период не вернули - будет отлуп
    event.setProcessed( true );               
}


Попробовал! Всё нормально работает! Спасибо! Будем ждать релиза!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.057s | 64 Queries | GZIP : On ]