函数名称:radius_get_vendor_attr()
函数描述:radius_get_vendor_attr()函数用于获取RADIUS厂商特定属性的值。
适用版本:PHP 5 >= 5.3.0, PECL radius >= 1.3.0
用法: mixed radius_get_vendor_attr ( resource $radius_handle , int $vendor , int $type [, int $index = 0 ] )
参数:
- $radius_handle:RADIUS连接句柄,由radius_auth_open()或radius_acct_open()函数返回。
- $vendor:RADIUS厂商ID。
- $type:属性类型。
- $index(可选):属性的索引,如果有多个具有相同类型和厂商ID的属性,则可以使用索引来获取指定的属性值。
返回值: 如果成功获取到属性值,则返回该属性的值;如果未找到匹配的属性,则返回FALSE。
示例:
// 创建RADIUS连接句柄 $radius_handle = radius_auth_open();
// 连接到RADIUS服务器 radius_add_server($radius_handle, "radius.example.com", 1812, "secret", 5, 3);
// 发起RADIUS认证请求 radius_send_request($radius_handle, RADIUS_ACCESS_REQUEST);
// 获取RADIUS厂商特定属性的值 $vendor = 12345; // 假设厂商ID为12345 $type = 1; // 假设属性类型为1
$value = radius_get_vendor_attr($radius_handle, $vendor, $type);
if ($value !== FALSE) { echo "属性值: " . $value; } else { echo "未找到匹配的属性"; }
// 关闭RADIUS连接 radius_close($radius_handle);
在上述示例中,我们首先创建了一个RADIUS连接句柄,然后连接到RADIUS服务器。接下来,我们发起一个RADIUS认证请求,并使用radius_get_vendor_attr()函数获取指定厂商和类型的属性值。如果成功获取到属性值,则打印出来;否则,打印出未找到匹配的属性的消息。最后,我们关闭RADIUS连接。
请注意,示例中的厂商ID和属性类型仅用作示范,实际使用时需要根据具体情况进行修改。