Биллинговая система Nodeny
22 Ноября 2024, 00:03:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 [2] 3 4
  Печать  
Автор Тема: кто Radius использует  (Прочитано 23372 раз)
smallcms
NoDeny
Старожил
*

Карма: 64
Offline Offline

Сообщений: 279



Просмотр профиля WWW
« Ответ #15 : 28 Ноября 2009, 03:44:55 »

Сделал. Глюк прошёл. Кстати обнаружил ещё в июле, когда переводил свою сеточку. Но кто ж знал, что это баг...  Смеющийся
Записан

elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #16 : 29 Ноября 2009, 14:03:26 »

Ну вот к чему мои скромные знания SQL привели Улыбающийся

Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$  
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
  SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass3') AS Value,'=='
    FROM users WHERE name=login;
  SELECT NULL,login,'Calling-Station-Id' AS Attribute,field_value AS Value, '=='
    FROM dopdata WHERE revision=(SELECT MAX(revision) FROM dopdata WHERE parent_id=(SELECT id FROM users WHERE name=login)) AND field_alias='_mac';
END$$
DELIMITER ;

Что здесь плохо? 2 вложенных запроса - имхо много
Причем, если мак адреса нет у данного клиента, то должно пустить без проверки мак-адреса.

P.S. пошел тестировать это на практике...

« Последнее редактирование: 29 Ноября 2009, 14:04:58 от elite » Записан
serojperoj
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 72


Просмотр профиля
« Ответ #17 : 03 Декабря 2009, 19:38:16 »

2 elite

если-что такой вариант работает у меня в сети.
если в доп. данных присутствует МАК адрес клиента то кроме юзер-пароля  проверяет еще и МАК адрес.

Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$ 
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
  SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass3') AS Value,'==' AS Op FROM users WHERE name=login;

IF ((SELECT field_value from dopvalues where revision IN (SELECT rev FROM rev_users WHERE id IN (SELECT id FROM users where name=login)) and dopfield_id=4) <> '') THEN

SELECT id,name,'Calling-Station-Id' AS Attribute,(SELECT field_value from dopvalues where revision IN (SELECT rev FROM rev_users WHERE id IN (SELECT id FROM users where name=login))
and dopfield_id=4) AS Value,'==' AS Op from users where name=login;

END IF;

END$$
DELIMITER ;
Записан
serojperoj
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 72


Просмотр профиля
« Ответ #18 : 03 Декабря 2009, 19:53:32 »

2 Efendy

тестил. спс, помогло.

Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #19 : 04 Декабря 2009, 12:02:05 »

serojperoj
че-то больно мудренный у тебя SQL-запрос Улыбающийся слишком много вложений
в принципе, мой вариант тоже будет работать, потому как при отсутствии мак-адреса он возвращает пустую строку Улыбающийся
Записан
smallcms
NoDeny
Старожил
*

Карма: 64
Offline Offline

Сообщений: 279



Просмотр профиля WWW
« Ответ #20 : 04 Декабря 2009, 20:48:19 »

Так, пока далеко не ушли словил такой глюк:
Как-то резко закрылся авторизатор, не отсчитав свои 3...2....1... После чего авторизация сохранялась вплоть до закрытия Internet Explorer. Может быть такое или это фантазии виртуалбокса?  Улыбающийся
Записан

elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #21 : 05 Декабря 2009, 08:39:52 »

Так, пока далеко не ушли словил такой глюк:
Как-то резко закрылся авторизатор, не отсчитав свои 3...2....1... После чего авторизация сохранялась вплоть до закрытия Internet Explorer. Может быть такое или это фантазии виртуалбокса?  Улыбающийся
а причем здесь радиус?
Записан
versus
Администратор
Спец
*****

Карма: 21
Offline Offline

Сообщений: 845


44306843
Просмотр профиля WWW Email
« Ответ #22 : 05 Декабря 2009, 19:56:30 »

Так, пока далеко не ушли словил такой глюк:
Как-то резко закрылся авторизатор, не отсчитав свои 3...2....1... После чего авторизация сохранялась вплоть до закрытия Internet Explorer. Может быть такое или это фантазии виртуалбокса?  Улыбающийся

в пределах 2 -х минут еще бы сохранялась авторизация ...
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #23 : 14 Декабря 2009, 22:24:15 »

serojperoj
а что у тебя в качестве сервера PPPoE используется? и в каком формате хранятся мак адреса в дополнительных полях клиентов?
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #24 : 15 Декабря 2009, 17:20:02 »

Вот рабочий вариант при использовании в качестве сервера доступа mpd:

Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$ 
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
  SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass3') AS Value,'=='
    FROM users WHERE name=login;
  SELECT id,login,'Calling-Station-Id' AS Attribute, LOWER(REPLACE(field_value,':','')) AS Value, '==' FROM dopdata WHERE revision=(SELECT MAX(revision) FROM dopdata WHERE parent_id=(SELECT id FROM users WHERE name=login)) AND field_alias='_mac';
END$$
DELIMITER ;
Записан
leliksan
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 56

157876
Просмотр профиля Email
« Ответ #25 : 15 Декабря 2009, 20:24:31 »

Вот рабочий вариант при использовании в качестве сервера доступа mpd:

Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$ 
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
  SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass3') AS Value,'=='
    FROM users WHERE name=login;
  SELECT id,login,'Calling-Station-Id' AS Attribute, LOWER(REPLACE(field_value,':','')) AS Value, '==' FROM dopdata WHERE revision=(SELECT MAX(revision) FROM dopdata WHERE parent_id=(SELECT id FROM users WHERE name=login)) AND field_alias='_mac';
END$$
DELIMITER ;


А в каком формате хранятся маки?
Записан
serojperoj
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 72


Просмотр профиля
« Ответ #26 : 19 Декабря 2009, 16:09:47 »

2 elite

стандартно как в доках написано. Freebsd+Mikrotik(pppoe)

формат к примеру такой -  "00:A1:B0:01:09:E0".
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #27 : 19 Декабря 2009, 17:02:21 »

2 elite

стандартно как в доках написано. Freebsd+Mikrotik(pppoe)

формат к примеру такой -  "00:A1:B0:01:09:E0".
ну с мпд твой вариант не работал Улыбающийся
мой вариант - под мпд
в бд мак адреса храняться в формате типа 00:A1:B0:01:09:E0, причем неважно, большие или маленькие буквы Улыбающийся
Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #28 : 19 Декабря 2009, 18:07:24 »

подскажите, может кто сталкивался, как задействовать мультизапросы в mysql?
а то процедуры не хотят выполняться, когда радиус передает их серверу.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #29 : 19 Декабря 2009, 21:20:13 »

подскажите, может кто сталкивался, как задействовать мультизапросы в mysql?
а то процедуры не хотят выполняться, когда радиус передает их серверу.
что ты понимаешь под мультизапросами? приведи пример
Записан
Страниц: 1 [2] 3 4
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!