BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 02 окт 2012, 00:41 
Не в сети

Зарегистрирован: 06 июл 2009, 18:33
Сообщения: 48
Откуда: Россия, Саранск
Карма: 0
Ситуация. Имеется несколько NASов для доступа в сеть пользователей. Если висит ограничение в одну сессию на логин, то пользователь не завершивший сессию на одном и пытаясь залогиниться на другом получает отказ. Стандартно сделан сброс сессий если пришел верный запрос на авторизацию с того-же Calling-Station-Id (опция check.duplicate.session=1 в настройках NASa). Но пользователи часто (всегда практически) оставляют одну сессию на ноуте, а с планшетом пытаются зайти повторно и уже не с дома. При такой ситуации Calling-Station-Id отличаются. Как можно скриптом реализовать сброс всех существующих сессий, если он пытается залогиниться с другого устройства (конечно при условии, что аутентификация прошла успешно). Спасибо.

_________________

Сервер: вер. 5.2 сборка 1442 от 11.03.2013 20:09:04
os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_33
card вер. 5.2 сборка 199 от 05.03.2013 15:29:28
dialup вер. 5.2 сборка 375 от 28.02.2013 18:32:25
WiFi агент 5.2_222


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 окт 2012, 01:06 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
И тут вдруг оказывается что дома роутер, а он пытается подключиться с планшета... Кто-кого и надолго ли хватит :lol:

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 окт 2012, 01:07 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
http://wiki.bgbilling.ru/index.php/Доп._действие_сброса_активных_соединений
Для 5.1 правда. Но можно переписать для 5.2 и повесить на радиус авторизацию. Но я бы не стал этого делать.
Лучше все таки если хочет сбросить - зашел в ЛК и сбросил

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 окт 2012, 03:06 
Не в сети

Зарегистрирован: 06 июл 2009, 18:33
Сообщения: 48
Откуда: Россия, Саранск
Карма: 0
Да, лучше чтоб сбрасывали с личного кабинета, но в итоге на сотку пользователей звонят в сапорт 90. Исследования показали, что минироуторев все меньше, а вот мобольных устройств стремится по 2 штуки на персону. В общем я тоже за личный кабинет, но при массовом внедрении и унификации доступа через кабельную сеть дома и wifi по городу получается геморно. Ссылку с вики видел, но не знаком с java и тем более api bgbs. Если подправить пару строк, то помогите. Если требует серьезной доработки то дайте знать, буду разбираться.

_________________

Сервер: вер. 5.2 сборка 1442 от 11.03.2013 20:09:04
os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_33
card вер. 5.2 сборка 199 от 05.03.2013 15:29:28
dialup вер. 5.2 сборка 375 от 28.02.2013 18:32:25
WiFi агент 5.2_222


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 дек 2012, 00:46 
Не в сети

Зарегистрирован: 06 июл 2009, 18:33
Сообщения: 48
Откуда: Россия, Саранск
Карма: 0
Вот функция, если кому нужно, устанавливается также как и тут. Один минус, при превышении лимита пользователь получит ошибку авторизации т.е. войдет со второй попытки.

Код:
import bitel.billing.server.call.bean.Login;
import bitel.billing.server.radius.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.script.event.*;
import bitel.billing.server.dialup.bean.busevent.*;
import bitel.billing.common.*;
import bitel.billing.server.util.*;
import ru.bitel.bgbilling.server.util.*;
import ru.bitel.bgbilling.kernel.event.*;
import java.sql.*;
import java.util.*;

int MID = 1; // код модуля

public void onEvent( event, setup, con, conSlave )
{
 contractId = event.getContractID();

 errCode = event.getErrorCode();

 if( errCode == 21 ) // если ошибка превышения лимита сессий
  {
 
      int count = 0;
 
      String tableName = ServerUtils.getModuleMonthTableName( "log_session", new java.util.Date(), MID );
      if( ServerUtils.tableExists( con, tableName ) )
      {
         String query =
            "SELECT session.id FROM " + tableName + " AS session " +
            "INNER JOIN user_login_" + MID + " AS login ON session.lid=login.id AND login.cid=? " + "WHERE session.status=0";
         PreparedStatement ps = con.prepareStatement( query );
         ps.setInt( 1, contractId );
         ResultSet rs = ps.executeQuery();
         while( rs.next() )
         {
            int recordId = rs.getInt( 1 );
             count++;
               EventProcessor.getInstance().publish( new DialupSessionBreakEvent( MID, recordId ) );   // непосредственно киляет сессии
         }
      }
    
  }
}

_________________

Сервер: вер. 5.2 сборка 1442 от 11.03.2013 20:09:04
os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_33
card вер. 5.2 сборка 199 от 05.03.2013 15:29:28
dialup вер. 5.2 сборка 375 от 28.02.2013 18:32:25
WiFi агент 5.2_222


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

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


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

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


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

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