函数名:radius_put_vendor_attr()
适用版本:PHP 4 >= 4.0.5, PHP 5, PHP 7
函数描述:radius_put_vendor_attr() 函数将一个供应商特定的属性添加到一个 RADIUS 包中。
用法: radius_put_vendor_attr(resource $radius_handle, int $vendor, int $type, string $value) : bool
参数:
- $radius_handle:RADIUS 连接的句柄,由 radius_auth_open() 或 radius_acct_open() 返回。
- $vendor:供应商 ID。
- $type:属性类型 ID。
- $value:属性值。
返回值: 如果成功添加属性,则返回 true,否则返回 false。
示例:
// 创建一个 RADIUS 连接
$radius_handle = radius_auth_open();
// 配置 RADIUS 服务器信息
radius_add_server($radius_handle, "radius.example.com", 1812, "secret", 5, 10);
// 验证用户名和密码
if (radius_create_request($radius_handle, RADIUS_ACCESS_REQUEST)) {
radius_put_vendor_attr($radius_handle, 9, 1, "vendor_value");
radius_put_attr($radius_handle, RADIUS_USER_NAME, "username");
radius_put_attr($radius_handle, RADIUS_USER_PASSWORD, "password");
$result = radius_send_request($radius_handle);
if ($result == RADIUS_ACCESS_ACCEPT) {
echo "认证成功!";
} else {
echo "认证失败!";
}
}
// 关闭 RADIUS 连接
radius_close($radius_handle);
在上面的示例中,我们首先创建了一个 RADIUS 连接,并配置了 RADIUS 服务器的信息。然后,我们使用 radius_create_request() 函数创建一个访问请求,并使用 radius_put_vendor_attr() 函数添加一个供应商特定的属性。最后,我们使用 radius_send_request() 函数发送请求,并根据返回结果判断认证是否成功。最后,我们关闭 RADIUS 连接。
请注意,示例中的参数值仅供参考,实际使用时需要根据实际情况进行修改。