User Tools

Site Tools


prom20:usermanagement

UserManagement

UserManagement bildet die Basis für die Authentifizierung und für die Autorisierung, Module, die austauschbar sein sollen, ohne das gesamte Prinzip der Benutzervewaltung austauschen zu müssen1). Hier werden Benutzerkonten eingeführt2), und Systemkonten3). Auch die Lizenzierung wird hierüber verwaltet, wobei das noch in ein separates Modul ausgelagert werden könnte.

Aggregates

UserAccount
SystemAccount
LicenceGroup

UserAccount und SystemAccount leiten sich nicht von einer gemeinsamen Basisklasse ab. Der Grund ist der, dass UserAccount eine Rolle von Person ist, und von AggregatePartRoot<Person> abgeleitet ist, SystemAccount direkt von Aggregate. Zudem verwendet UserAccount dadurch die Id von Person, SystemAccount hat eine eigene Id. Es hat auch keinen wirklichen Vorteil, beide von derselben Basisklasse abzuleiten. Wenn man möchte, kann man beide eine gemeinsame Schnittstelle implementieren lassen, dafür sehe ich aber aktuell keine Notwendigkeit.

1) Die Authentifizierung kann z.B. beliebig verändert werden, z.B. auf eine OAuth 2.0 Implementierung von Google, oder auf eine Windows Authentifizierung
2) Eine Rolle der Person
3) Für die Rechtevergabe für nicht-Personen, z.B. für Schnittstellen, SAGAs oder andere Prozesse
prom20/usermanagement.txt · Last modified: 2013/11/13 18:27 by rtavassoli