SecurityDevice
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.
Notwendige Konfiguration
id
Typ: String
Die eindeutige ID des konfigurierten SecurityDevices.
class
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.
type
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:
- auth Ein
com.top_logic.base.security.device.interfaces.AuthenticationDeviceausschließlich für die Authentifizierung eines Benutzers gegenüber LDAP. - data EIn
com.top_logic.base.security.device.interfaces.PersonDataAccessDevicezur Bereitstellung von Benutzerdaten aus dem LDAP Verzeichnis. - auth-with-data Ein
SecurityDevicezur Authentifikation und Bereitstellung von Benutzerdaten. - disabled Ein inaktives
SecurityDevice.
mappings
Typ: Map<String, String>
Ein mapping ist eine Abbildung von LDAP Objektklassen Properties auf TopLogic 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.
access-service
Typ: com.top_logic.base.dsa.ldap.PersonLDAPAccessService
Der access-service übernimmt die Authentifizierungsprüfung. Die entsprechende Konfiguration wird in LDAPAccessService beschrieben
Zusätzliche Konfiguration
domain
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 TopLogic 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.
allow-pwd-change
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?
allow-ext-authentication
Typ: boolean
Default: false
Definiert ob eine Verbindung zum LDAP durch ein externes Authentifizierungssystem (z.B. Servlet Container) erlaubt ist. TODO: Mehr Input besorgen
read-only
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.
disabled
Typ: boolean
Default: false
Gibt an, ob der SecurityService inaktiv ist.