Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Портал авторизации хотспота, как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
Есть биллинговая система, включающая в себя RADIUS-сервер. Данные хранятся в СУБД Oracle. Оба сервера (и биллинг, и БД) работают под управлением RHLE (64-битной). Есть сервер, обслуживающий хотспот. Доступ к хотспоту должен предоставляться только тем пользователям, у которых в биллинге подключена определенная тарифная опция. Скрипт авторизации клиентов хотспота сделан на PHP. При авторизации клиента на портале хотспота нужно проверить, подключена ли у соответствующего абонента в биллинге тарифная опция. Если подключена, то авторизовать, если не подключена, то отказать в регистрации. Сервер работает под управлением FreeBSD 8.2 (64-битной). Проблема заключается в том, что для 64-разрядной FreeBSD не существует клиента Oracle. Соответственно подключиться к БД и проверить абонента нельзя. Пока что я только четыре способа нашел решить эту проблему. 1. Для FreeBSD все же существует клиент Oracle для JDBC (для работы ява-приложений). То есть можно установить ява-машину, JDBC, и в скрипте подключаться к БД через JDBC. Вариант вроде бы рабочий, но уж очень костыльный. Да и на PHP работать с JDBC не очень просто. 2. На сервере СУБД Oracle имеется DBI-Proxy. Можно написать на Perl скрипт, который будет подключаться через dbiproxy к биллинговой БД, загружать нужные данные (список абонентов с подключенной опцией) в локальную БД. А скрипт авторизации будет подключаться уже к локальной БД. У такого подхода есть и некоторые плюсы (у веб-сервера не будет связи с биллинговой БД на случай если в коде будут уязвимости), но основной минус с том, что актуальные данные будут запаздывать. Если скрипт синхронизации будет запускаться (к примеру) каждый час, значит в худшем случае абонент после подключения опции не сможет подключиться к хотспоту в течении почти часа. 3. На сервере FreeBSD установить линукслятор (или другой подобный эмулятор Linux) и использовать Oracle-клиент для Linux. Все вроде бы хорошо, но у меня так и не получилось из скрипта использовать линуксовый Oracle-клиент. То ли под эмулятором должно быть все, что использует клиент (в том числе PHP с Apache), то ли еще что, но не работает. 4. В скрипте авторизации можно проверять наличие нужной услуги у абонента не в БД, а через RADIUS-сервер. То есть я из скрипта авторизации шлю RADIUS-запрос к биллингу и в зависимости от ответа авторизую абонента на портале или отказываю в авторизации. Выглядит красиво, но насколько я понимаю, мне нужно будет эмулировать ISG, а PHP не очень подходит для написания серверов. ________________________ Мы смотрим с оптимизмом... ...в оптический прицел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 09:59 |
|
||
|
Портал авторизации хотспота, как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 14:07 |
|
||
|
Портал авторизации хотспота, как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
По моему проще будет использовать SOA. На стороне биллинговой системы, Oracle или где-то рядом сделать сервис (JSON-RPC(REST) или XML-RPC(WSDL)), и из PHP дергать его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 15:36 |
|
||
|
Портал авторизации хотспота, как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
А что должна сказать эта ссылка? Что такое RADIUS я знаю. И сделать радиус-запрос я тоже смогу. В пятом варианте меня беспокоит то, что возможно потребуется реализовать ISG-шлюз. Если этого не потребуется, то хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 15:41 |
|
||
|
Портал авторизации хотспота, как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
рубистПо моему проще будет использовать SOA. У меня все сервера, кроме биллинга и СУБД, работают под FreeBSD. А ставить сторонний софт на биллинг или СУБД без крайней необходимости я бы не хочет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 15:46 |
|
||
|
Портал авторизации хотспота, как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
Alibek B., А вы виртуализацией не пользуетесь? рабочие OS ставите прямо на "железо"? Что сложного, поставить легковесную VPS (vmware, kvm, virtuozzo\openvz) на том же RHEL и сделать там (на чем угодно, хоть на PHP) небольшой сервис отдающий json или xml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 15:59 |
|
||
|
Портал авторизации хотспота, как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
рубистА вы виртуализацией не пользуетесь? рабочие OS ставите прямо на "железо"? Биллинг и БД да, разработчик рекомендует не использовать виртуальную среду. Остальные сервера тоже, железо там не слишком мощное, чтобы организовать виртуальную инфраструктуру. Есть пара виртуальных серверов на VirtualBox (под FreeBSD это единственное более-менее стабильное решение), но нагрузки на них серьезной нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 18:02 |
|
||
|
Портал авторизации хотспота, как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
Alibek B., Виртуализация может быть очень легковесной (у openvz побочные затраты мощности сервера на виртуализацию меньше 1%) Я openvz и kvm использую на рабочем компе для экспериментов (минимум пара виртуалок крутится всегда) процессор i5. Сейчас процессоры делают с аппаратной поддержкой виртуализации, так что kvm или vmware держать тоже не сильно накладно. Правда у FreeBSD с этим не все так хорошо как в RHEL или Debian .... Но мы не об этом. Я думаю, что для вас, то что я уже предложил, будет проще чем всякие jdbc к php, эмуляторы Linux, dbi-proxy или подключение к radius. Раз вам PHP ближе, то вoзьмите что-то типа http://www.slimframework.com/, сделайте аля-REST api и поставте его на RHEL (куда вам удобней). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 19:24 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38561396&tid=1463040]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 401ms |

| 0 / 0 |
