userdirectory.get

描述

integer/array userdirectory.get(object parameters)

该方法允许根据给定的参数检索用户目录。

此方法仅适用于超级管理员用户类型。

参数

(object) 参数定义了期望的输出。

该方法支持以下参数。

参数 数据类型 描述
userdirectoryids ID/array 仅返回具有给定ID的用户目录。
selectUsrgrps query 返回一个包含与用户目录关联的 user groupsusrgrps 属性。

支持 count
selectProvisionMedia query 返回一个包含与用户目录关联的 媒介类型映射provision_media 属性。
selectProvisionGroups query 返回一个包含与用户目录关联的 配置组映射provision_groups 属性。
sortfield string/array 按给定属性对结果进行排序。

可能的值:name
filter object 仅返回与给定过滤条件完全匹配的结果。

接受一个 object,其中键是属性名,值可以是单个值或一个 array 的值。

支持的属性:userdirectoryididp_typeprovision_status
search object 返回匹配给定模式的结果(不区分大小写)。

接受一个 object,其中键是属性名,值是要搜索的字符串。如果没有提供其他选项,这将执行一个 LIKE "%…%" 搜索。

支持的属性:namedescription

类型为SAML的用户目录对于 namedescription 属性的值都为空。这两个属性可以通过 userdirectory.update 操作进行更改。
countOutput boolean 这些参数在 通用get方法参数 中有描述。
excludeSearch boolean
limit integer
output query
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

(integer/array) 返回以下之一:

  • array 的 objects;
  • 如果使用了 countOutput 参数,则为检索到的 objects 的数量。

示例

检索用户目录

检索所有用户目录以及附加属性,这些附加属性显示与每个用户目录关联的媒介类型映射和供应组映射。

执行请求:

{  "jsonrpc": "2.0",  "method": "userdirectory.get",  "params": {  "output": "extend",  "selectProvisionMedia": "extend",  "selectProvisionGroups": "extend"  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": [  {  "userdirectoryid": "1",  "idp_type": "2",  "name": "",  "provision_status": "1",  "description": "",  "group_name": "groups",  "user_username": "",  "user_lastname": "",  "idp_entityid": "http://example.com/simplesaml/saml2/idp/metadata.php",  "sso_url": "http://example.com/simplesaml/saml2/idp/SSOService.php",  "slo_url": "",  "username_attribute": "uid",  "sp_entityid": "zabbix",  "nameid_format": "",  "sign_messages": "0",  "sign_assertions": "0",  "sign_authn_requests": "0",  "sign_logout_requests": "0",  "sign_logout_responses": "0",  "encrypt_nameid": "0",  "encrypt_assertions": "0",  "scim_status": "1",  "provision_media": [  {  "userdirectory_mediaid": "1",  "name": "example.com",  "mediatypeid": "1",  "attribute": "[email protected]",  "active": "0",  "severity": "63",  "period": "1-7,00:00-24:00"  }  ],  "provision_groups": [  {  "name": "*",  "roleid": "1",  "user_groups": [  {  "usrgrpid": "13"  }  ]  }  ]  },  {  "userdirectoryid": "2",  "idp_type": "1",  "name": "AD server",  "provision_status": "1",  "description": "",  "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",  "start_tls": "0",  "search_filter": "",  "group_basedn": "OU=Zabbix,DC=zbx,DC=local",  "group_name": "CN",  "group_member": "member",  "group_filter": "(%{groupattr}=CN=%{ref},OU=Users,OU=Zabbix,DC=zbx,DC=local)",  "group_membership": "",  "user_username": "givenName",  "user_lastname": "sn",  "user_ref_attr": "CN",  "provision_media": [  {  "userdirectory_mediaid": "2",  "name": "example.com",  "mediatypeid": "1",  "attribute": "[email protected]",  "active": "0",  "severity": "63",  "period": "1-7,00:00-24:00"  }  ],  "provision_groups": [  {  "name": "*",  "roleid": "4",  "user_groups": [  {  "usrgrpid": "8"  }  ]  },  {  "name": "Zabbix administrators",  "roleid": "2",  "user_groups": [  {  "usrgrpid": "7"  },  {  "usrgrpid": "8"  }  ]  }  ]  },  {  "userdirectoryid": "3",  "idp_type": "1",  "name": "LDAP API server #1",  "provision_status": "0",  "description": "",  "host": "ldap://local.ldap",  "port": "389",  "base_dn": "ou=Users,dc=example,dc=org",  "search_attribute": "uid",  "bind_dn": "cn=ldap_search,dc=example,dc=org",  "start_tls": "1",  "search_filter": "",  "group_basedn": "",  "group_name": "",  "group_member": "",  "group_filter": "",  "group_membership": "",  "user_username": "",  "user_lastname": "",  "user_ref_attr": "",  "provision_media": [],  "provision_groups": []  }  ],  "id": 1 }

另请参阅

来源

CUserDirectory::get() 在 ui/include/classes/api/services/CUserDirectory.php 中。