Übersicht
Die User API ist eine REST API zur Verwaltung von Fess-Benutzerkonten. Sie können Benutzer erstellen, abrufen, aktualisieren und löschen sowie Rollen und Gruppen zuweisen.
Dies ist eine Admin-API; der Zugriff erfordert eine Authentifizierung mit einem Admin-Zugriffstoken. Informationen zur Authentifizierungsmethode und zu den gemeinsamen Spezifikationen finden Sie unter Admin API Übersicht.
Jede Antwort ist in ein response-Objekt eingebettet und enthält die folgenden gemeinsamen Felder:
version: Der Fess-Produktversionsstring.status: Der Ergebnisstatuscode (0=Erfolg,1=Ungültige Anfrage,2=Systemfehler,3=Nicht autorisiert,9=Fehlgeschlagen).
Basis-URL
Endpunktliste
| Methode | Pfad | Beschreibung |
|---|---|---|
| GET | /settings | Benutzerliste abrufen |
| GET | /setting/{id} | Benutzer abrufen |
| POST | /setting | Benutzer erstellen |
| PUT | /setting | Benutzer aktualisieren |
| DELETE | /setting/{id} | Benutzer löschen |
Benutzerliste abrufen
Anfrage
Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
size | Integer | Nein | Anzahl der Einträge pro Seite. Der Standardwert ist der konfigurierte Wert paging.page.size (Standard: 25). |
page | Integer | Nein | Seitennummer (beginnt bei 1). Der Standardwert ist 1. |
Bemerkung
In der aktuellen Implementierung berücksichtigt der Endpunkt für die Benutzerliste die Parameter size und page nicht. Es wird immer die erste Seite zurückgegeben, mit der durch die Servereinstellung paging.page.size (Standard: 25) festgelegten Anzahl von Einträgen, sortiert nach Benutzername (name) in aufsteigender Reihenfolge. Die Gesamtanzahl der übereinstimmenden Benutzer ist in response.total verfügbar.
Antwort
settings: Das Array der Benutzer auf der aktuellen Seite.total: Die Gesamtanzahl der übereinstimmenden Benutzer.
Benutzer abrufen
Anfrage
Geben Sie in {id} die Dokument-ID des Zielbenutzers an.
Antwort
Bemerkung
attributes enthält alle für den Benutzer gespeicherten Attribute, mit Ausnahme von name, password, roles und groups. password ist nicht in der Antwort enthalten.
Benutzer erstellen
Anfrage
Anfrage-Body
Feldbeschreibungen
| Feld | Erforderlich | Beschreibung |
|---|---|---|
name | Ja | Benutzername (Login-ID) |
password | Ja | Passwort |
confirm_password | Nein | Bestätigungspasswort |
attributes | Nein | Attribut-Map (siehe unten) |
roles | Nein | Array von Rollen-IDs |
groups | Nein | Array von Gruppen-IDs |
Bemerkung
Geben Sie in roles und groups die ID der Rolle bzw. Gruppe an, nicht deren Namen. Eine nicht vorhandene ID (auch ein Rollen- oder Gruppenname) wird mit 400 abgelehnt. Die IDs finden Sie im id der Antworten von GET /api/admin/role/settings und GET /api/admin/group/settings. Die ID einer in der Admin-Oberfläche oder über die API angelegten Rolle oder Gruppe ist ihr Name im Base64-URL-Format (zum Beispiel YWRtaW4= für die standardmäßig vorhandene Rolle admin und Z3Vlc3Q= für guest).
Bemerkung
Für das Passwort gelten dieselben Prüfungen wie in der Admin-Oberfläche. Eine Anlage ohne password, ein confirm_password, das von password abweicht (confirm_password selbst kann entfallen), und ein Passwort, das die Passwortrichtlinie verletzt (password.min.length (Standard 8), password.max.length, password.require.* und password.invalid.admin.passwords in fess_config.properties), werden jeweils mit 400 abgelehnt.
Die Schlüssel von attributes sind die Attributnamen der Benutzerentität (die aus LDAP abgeleiteten Schemaelementnamen). Die häufigsten Schlüssel sind:
surname,givenName,displayName,mailtelephoneNumber,mobile,homePhoneemployeeNumber,title,description,homeDirectoryuidNumber,gidNumber
uidNumber und gidNumber müssen numerische Werte sein (der Typ wird bei der Aktualisierung validiert). Viele weitere LDAP-Attributschlüssel können ebenfalls angegeben werden.
Bemerkung
Bei der Erstellung wird die Benutzer-ID (Dokument-ID) automatisch als Base64-URL-kodierter Wert des Benutzernamens generiert (zum Beispiel wird der Benutzername admin zu YWRtaW4=).
Antwort
id: Die Dokument-ID des erstellten Benutzers.created:truebei erfolgreicher Erstellung.
Benutzer aktualisieren
Anfrage
Anfrage-Body
Feldbeschreibungen
| Feld | Erforderlich | Beschreibung |
|---|---|---|
id | Ja | Die Dokument-ID des zu aktualisierenden Benutzers. |
name | Ja | Benutzername (Login-ID) |
version_no | Ja | Versionsnummer (für optimistisches Sperren) |
password | Nein | Neues Passwort (wird nur aktualisiert, wenn angegeben) |
confirm_password | Nein | Bestätigungspasswort |
attributes | Nein | Attribut-Map (siehe „Benutzer erstellen“) |
roles | Nein | Array von Rollen-IDs |
groups | Nein | Array von Gruppen-IDs |
Bemerkung
Bei der Aktualisierung sind id, name und version_no erforderlich. version_no ist der Wert, der beim Abrufen des Zielbenutzers (GET) zurückgegeben wird, und entspricht der OpenSearch-Dokumentversion. Stimmt er nicht mit der aktuellen Version überein, wird die Anfrage als Konflikt behandelt und die Aktualisierung abgelehnt.
Antwort
created:falsebei einer Aktualisierung.
Benutzer löschen
Anfrage
Geben Sie in {id} die Dokument-ID des zu löschenden Benutzers an.
Bemerkung
Der aktuell angemeldete Benutzer kann nicht gelöscht werden.
Antwort
id: Die Dokument-ID des gelöschten Benutzers.
Verwendungsbeispiele
Neuen Benutzer erstellen
Benutzerrollen ändern
Referenzinformationen
Admin API Übersicht - Admin API Übersicht
Role API - Rollenverwaltung API
Group API - Gruppenverwaltung API
Benutzer - Benutzerverwaltungsanleitung