2016-04-01 3 views
0

На самом деле у меня есть AAA от mysql, и все работает нормально. Особенно полезно использовать атрибут Max-Daily-Session для отключения пользователя через 10 минут (600 секунд). Недавно я изменил аутентификацию, используя собственный скрипт php. В сайтов с поддержкой файла/по умолчанию:Freeradius Max-Daily-Session в пользовательской аутентификации

authorize{ 
update control { 
    Auth-Type := `/usr/bin/php -f /etc/raddb/yourscript.php '%{User-Name}' '%{User-Password}' '%{Client-IP-Address}'` 
} 

В/и т.д./FreeRADIUS/пользователей:

DEFAULT Auth-Type = Accept 
Exec-Program-Wait = "/usr/bin/php -f /etc/raddb/attributes.php '%{User-Name}' '%{User-Password}' '%{Client-IP-Address}'" 

В attributes.php:

<?php 
$User = $argv[1]; 
$Pass = $argv[2]; 
$Ip = $argv[3]; 
if ($User == "test") 
    echo "Max-Daily-Session:=600"; 
?> 

Похоже, что сервер не заботиться о атрибуте Max-Daily-Session и не отправлять пакет отключений. Какие изменения между mysql и пользовательской аутентификацией?

ответ

0

Что вы думаете? Метод радиус Session-Timeout является:

  1. пользователя А Войти радиус от наса
  2. радиуса ответа Session-Timeout 600s к Nas
  3. после 600s, NAS отключить пользователь A. Не радиус отправить пакет отключает НАН Украины.

Следует использовать атрибут Session-Timeout := 600.