userdirectory.test
Beschreibung
object userdirectory.test(array userDirectory)
Mit dieser Methode können die Verbindungseinstellungen des Benutzerverzeichnisses getestet werden.
Mit dieser Methode kann auch getestet werden, welche konfigurierten Daten mit den Einstellungen des Benutzerverzeichnisses für die Benutzerbereitstellung übereinstimmen
(z. B. welche Benutzerrolle, Benutzergruppen und Benutzermedien dem Benutzer zugewiesen werden).
Für diese Art von Test sollte die API-Anfrage für ein Benutzerverzeichnis gestellt werden, bei dem provision_status auf aktiviert gesetzt ist.
Diese Methode ist nur für den Benutzertyp Super admin verfügbar.
Parameter
(object) Eigenschaften des Benutzerverzeichnisses.
Da die API userdirectory.get das Feld bind_password nicht zurückgibt, sollten userdirectoryid und/oder bind_password angegeben werden.
Zusätzlich zu den Standard-Eigenschaften des Benutzerverzeichnisses akzeptiert die Methode die folgenden Parameter.
| Parameter | Type | Beschreibung |
|---|---|---|
| test_username | string | Benutzername, der im Benutzerverzeichnis getestet werden soll. |
| test_password | string | Dem Benutzernamen zugeordnetes Passwort, das im Benutzerverzeichnis getestet werden soll. |
Rückgabewerte
(bool) Gibt bei Erfolg true zurück.
Beispiele
Benutzerverzeichnis für vorhandenen Benutzer testen
Benutzerverzeichnis „3“ für „user1“ testen.
{
"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
}
Antwort:
{
"jsonrpc": "2.0",
"result": true,
"id": 1
}
Benutzerverzeichnis für nicht vorhandenen Benutzer testen
Testen Sie das Benutzerverzeichnis „3“ für den nicht vorhandenen Benutzer „user2“.
{
"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
}
Antwort:
{
"jsonrpc": "2.0",
"error": {
"code": -32500,
"message": "Application error.",
"data": "Incorrect user name or password or account is temporarily blocked."
},
"id": 1
}
Benutzerverzeichnis für die Benutzerbereitstellung testen
Testen Sie das Benutzerverzeichnis „3“, um festzustellen, welche konfigurierten Daten mit den Einstellungen des Benutzerverzeichnisses für die Bereitstellung von „user3“ übereinstimmen (z. B. welche Benutzerrolle, Benutzergruppen und Benutzermedien dem Benutzer zugewiesen werden).
{
"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
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"username": "user3",
"name": "John",
"surname": "Doe",
"medias": [],
"usrgrps": [
{
"usrgrpid": "8"
},
{
"usrgrpid": "7"
}
],
"roleid": "2",
"userdirectoryid": "2"
},
"id": 1
}
Quelle
CUserDirectory::test() in ui/include/classes/api/services/CUserDirectory.php.