Auth-Service
Zuständig für die Authentifizierung und Verwaltung der Rechte der User des Systems.
Der Service stellt auch die Loginmaske zur Verfügung. Dazu wird Freemarker verwendet. Mittels wro4j werden JavaScript Ressource (jquery und Bootstrap) zur Verfügung gestellt. Im Projekt sind zusätzliche Ressourcen im Ordner resources-non-filtered
hinterlegt.
Abhängigkeiten
- Infomanagement-Service
Datenmodell
IMPORTANT
Der Benutzername liegt in der Datenbank nur verschlüsselt vor.
Prozesse
Login
Erstellung der Benutzer
IMPORTANT
Damit Benutzer angelegt werden können muss die definierte Authority vorhanden sein die den Benutzern zugewiesen werden soll.
NOTE
Wird der Service mit dem Profil db-dummydata
gestartet werden Testdaten erzeugt, welche die notwendige Authority umfasst. Im regulären Betrieb werden die Authority sowie Permission mittels Skript erzeugt.
Der Service erzeugt für eine Liste an Wahlbezirken eines Wahltermins (wahltagID
) Benutzer. Dabei werden der Benutzername und die PIN zufällig erzeugt.
Die Benutzer die zuvor für den Wahltermin vorhanden waren werden gelöscht.
Konfigurationsparameter
Alle Konfigurationsparameter beginnen mit dem Prefix service.config
Name | Beschreibung | Default |
---|---|---|
crypto.encryptionPrefix | String vor dem verschlüssten Wert. Auf diese Weise sind verschlüsselte Werte erkennbar | ENCRYPTED: |
crypto.key | Schlüssel zum ver- und entschlüsseln | |
maxLoginAttempts | Maximale Anzahl an Fehlersuchen bis der Account gesperrt wird. | 5 |
clients.infomanagement.basepath | URL zum Infomanagement-Service | http://localhost:39146 |
clients.infomanagement.configkey.welcomeMessage | Schlüssel für Konfiguration der Willkommensnachricht | WILLKOMMENSTEXT |
serviceauth.welcomemessage.default | Standartd Willkommensnachricht falls die definierte Willkommensnachricht nicht geladen werden kann | Willkommen zur Wahl! |
ldap.userDn | Username zur Authentifizierung am LDAP-Server | |
ldap.userDnPassword | Passwort zur Authentifizierung am LDAP-Server | |
ldap.contextSource | Url zum LDAP-Server, z.B. ldaps://my-ldap-server.de:636 | |
ldap.userSearchBase | Basispfad für Suche, z.b. o=myOrg,c=de | ou=people |
ldap.userSearchFilter | Filter für Suche, z.B. (uid={0}) | uid={0} |