On this page
测试
描述
object userdirectory.test(array userDirectory)
此方法允许您测试用户目录连接设置。
此方法还允许您测试已配置的数据与用户目录设置在用户 provisioning 中的匹配情况
(例如,将为用户分配什么用户角色、用户组、用户媒介)。
对于这种类型的测试,API 请求应针对 provision_status 设置为启用的 user directory 发起。
此方法仅适用于 Super admin 用户类型。
参数
(object) 用户目录属性。
由于 userdirectory.get API 不返回 bind_password 字段,因此应提供 userdirectoryid 和/或 bind_password。
除标准用户目录属性外,该方法还接受以下参数。
| 参数 | 类型 | 说明 |
|---|---|---|
| test_username | string | 要在用户目录中测试的用户名。 |
| test_password | string | 与该用户名关联、用于在用户目录中测试的密码。 |
返回值
(bool) 成功时返回true。
示例
测试现有用户的用户目录
使用 "user1" 测试用户目录 "3"。
请求:
{
"jsonrpc": "2.0",
"method": "userdirectory.test",
"params": {
"userdirectoryid": "3",
"host": "127.0.0.1",
"port": "389",
"base_dn": "ou=Users,dc=example,dc=org",
"search_attribute": "uid",
"bind_dn": "cn=ldap_search,dc=example,dc=org",
"bind_password": "password",
"test_username": "user1",
"test_password": "password"
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": true,
"id": 1
}
测试非现有用户的用户目录
测试非现有用户 “user2” 的用户目录 "3"。
请求:
{
"jsonrpc": "2.0",
"method": "userdirectory.test",
"params": {
"userdirectoryid": "3",
"host": "127.0.0.1",
"port": "389",
"base_dn": "ou=Users,dc=example,dc=org",
"search_attribute": "uid",
"bind_dn": "cn=ldap_search,dc=example,dc=org",
"test_username": "user2",
"test_password": "password"
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"error": {
"code": -32500,
"message": "Application error.",
"data": "Incorrect user name or password or account is temporarily blocked."
},
"id": 1
}
测试用户配置的用户目录
测试用户目录"3",了解配置的数据与 "user3" 设置的用户目录设置相匹配 (例如,什么用户角色、用户组、用户媒介将被分配给用户)。
请求:
{
"jsonrpc": "2.0",
"method": "userdirectory.test",
"params": {
"userdirectoryid": "2",
"host": "host.example.com",
"port": "389",
"base_dn": "DC=zbx,DC=local",
"search_attribute": "sAMAccountName",
"bind_dn": "CN=Admin,OU=Users,OU=Zabbix,DC=zbx,DC=local",
"test_username": "user3",
"test_password": "password"
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": {
"username": "user3",
"name": "John",
"surname": "Doe",
"medias": [],
"usrgrps": [
{
"usrgrpid": "8"
},
{
"usrgrpid": "7"
}
],
"roleid": "2",
"userdirectoryid": "2"
},
"id": 1
}
来源
CUserDirectory::test() in ui/include/classes/api/services/CUserDirectory.php.