自定义身份验证中的Freeradius Max-Daily-Session

时间:2016-04-01 07:15:45

标签: php freeradius

实际上我有mysql的AAA,一切正常。特别是使用 Max-Daily-Session 属性可在10分钟(600秒)连接后断开用户连接。 我最近改变了使用自定义PHP脚本的authenticnticazione的方式。 在已启用站点/默认文件中:

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

在/ etc / freeradius / users中:

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属性,也不会发送Disconnect数据包。 mysql和自定义身份验证之间有什么变化?

1 个答案:

答案 0 :(得分:0)

你的鼻子是什么?半径Session-Timeout的方法是:

  1. 用户通过nas
  2. 登录radius
  3. radius回复Session-Timeout 600s到nas
  4. 在600s之后,nas断开用户A.它不是半径发送断开连接的数据包到nas。
  5. 您应该使用属性Session-Timeout := 600