Ein com.top_logic.base.security.device.interfaces.SecurityDevice ist ein System zu Authentifizierung von Benutzern gegenüber dem LDAP oder zur Bereitstellung von Benutzerdaten aus dem LDAP. Ein SecurityDevice kann auch für beide Fälle verwendet werden. Die Art des Devices wird durch den Parameter type definiert.
Typ: String
Die eindeutige ID des konfigurierten SecurityDevices.
Typ: String
Die entsprechende Klasse des zu konfigurierenden SecurityDevices. Hierfür steht die Klasse com.top_logic.base.security.device.ldap.LDAPAuthenticationAccessDevice zur Verfügung. Diese kann sowohl zur Authentifizierung eines Benutzer gegen das LDAP, als auch zum Zugriff auf Benutzerdaten basierend auf Personenattributen genutzt werden. Die Art des SecurityDevices wird durch den Parameter type definiert.
Typ: com.top_logic.base.security.device.interfaces.SecurityDevice.DeviceType
Der DeviceType eines SecurityDevice, der beschreibt, wofür das SecurityDevice verwendet wird. Der DeviceType ist eine Enumeration besteht aus folgenden vier Werten:
com.top_logic.base.security.device.interfaces.AuthenticationDevice ausschließlich für die Authentifizierung eines Benutzers gegenüber LDAP.com.top_logic.base.security.device.interfaces.PersonDataAccessDevice zur Bereitstellung von Benutzerdaten aus dem LDAP Verzeichnis.SecurityDevice zur Authentifikation und Bereitstellung von Benutzerdaten.SecurityDevice.Typ: Map<String, String>
Ein mapping ist eine Abbildung von LDAP Objektklassen Properties auf Top-Logic Properties, sodass beim Importieren von Benutzern diese auch auf entsprechende Anwendungsattribute geladen werden können. Die Properties werden in einer .properties angegeben und können dann als mapping in der Konfiguration referenziert werden. Man kann für jede Objektklasse (z.B. person oder group) eine .properties angeben. Für den Fall, dass kein passendes Mapping für eine Objektklasse existiert, muss als Fallback genericMapping.properties vorliegen. Darin muss mindestens ein Mapping für das Attribut objectClass vorliegen. Dieses Mapping wird verwendet, falls die Klasse eine Objekts unbekannt ist und abgefragt werden muss.
Typ: com.top_logic.base.dsa.ldap.PersonLDAPAccessService
Der access-service übernimmt die Authentifizierungsprüfung. Die entsprechende Konfiguration wird in LDAPAccessService beschrieben
Typ: String
Default: null
Die Domäne des LDAPs, die dazu verwendet wird bei einer externen Authentifizierung Benutzer eindeutig einer Domäne zuzuordnen. Da die meisten Systeme allerdings in einem Request nur die UserID und nicht die Domäne mitsenden, ist diese Methode veraltet und domain ist @Nullable.
TODO: Thema noch mal genau klären
Hinweis: Es handelt sich hier um eine Top-Logic Konfiguration, nicht um die tatsächliche Domaine, die für die Verbindung zum LDAP verwendet wird. Diese wird aus der Provider-URL eines LDAPAccessService erschlossen.
Typ: boolean
Default: false
Definiert ob Benutzer in die Anwendung ihr Passwort ändern können. Falls nicht wird die Option entsprechend in der Anwendung nicht angeboten. TODO: Default wirklich false?
Typ: boolean
Default: false
Definiert ob eine Verbindung zum LDAP durch ein externes Authentifizierungssystem (z.B. Servlet Container) erlaubt ist. TODO: Mehr Input besorgen
Typ: boolean
Default: false
Definiert ob das SecurityDevice read only ist. Wenn das der Fall ist, kann ein Benutzer seine Benutzerdaten (z.B. Name, Telefonnummer etc.) nicht anpassen. Diese Konfiguration wird dazu verwendet, die entsprechenden Felder im Bearbeitungsmodus eines importierten Benutzers nicht editierbar zu machen.
Typ: boolean
Default: false
Gibt an, ob der SecurityService inaktiv ist.