Ausgangslage
• Aktuelle Implementation nicht geeignet, wenn Eltern ihre Kinder „verwalten“
• Login ist eine Email Adresse, für verschiedene Kinder braucht es verschiedene Adressen
• Für mehrere Kinder muss einzeln eingeloggt werden
Lösungsvarianten
Email Adresse als Benutzername ablösen.
Bewertung:
- Hohe (fachliche) Komplexität in der Umstellung
- Vergabe von vernünftigen Benutzernamen ist schwierig (unique, merkbar)
- Wenig Flexibilität
Einführen von Rolle, die Aktionen Anderer ausüben kann. Stellvertreter und Stellvertretener sind „Personen“ in Hitobito. Problem wird über Autorisierung gelöst.
Bewertung:
- Sehr hohe Flexibilität
- Sehr komplex in der Umsetzung.
- Fehleranfällig
- Eltern sind in Hitobito explizit erfasst
Impersonation. Ein Stellvertreter bekommt das „Subject“ von einer Person. Als diese Person kann der Stellvertreter sämtliche Aktionen durchführen. Problem wird über Authentifizierung gelöst.
Bewertung:
- Stellvertreter (Eltern) sind nicht explizit erfasst, sondern ein eigenes Konstrukt.
- Umsetzung verhältnismässig einfach
- Keine erhöhte Komplexität bei den Berechtigungen. Bisherige Mechanismen greifen.
Lösungsskizze: Impersonation
Drittpersonen kann in Hitobitio ein Login erstellt werden. Diese Drittpersonen haben die Rolle von einem Stellvertreter.
Auf den Personen in Hitobito kann wie unten angedeutet ein (oder mehrere) Stellvertreter zugewiesen werden. Dieser kann alles tun, was die entsprechende Person auch tun könnte. Wichtig ist, dass für diese Personen nicht zwingend ein Login (Haupt Emailadresse) vorhanden sein muss.
Nach dem Login von einem „Stellvertreter“ kommt eine Übersichtsseite von Personen welche „stellvertreten“ werden können.
Durch einen Klick auf die entsprechende Person, ist der Stellvertreter als diese Person „Authentifiziert“. Technisch wird das entsprechende „Subject“ (Security Context) zugewiesen. Damit können alle Aktionen durchgeführt werden, welche auch die Person selbst ausführen könnte.
Handelt es sich um einen Stellvertreter, gibt es einen Link mit dem die „Stellvertretende“ Person sich wieder ausloggen kann. Das „Subject“ wird entzogen. Auf der Liste kann eine weitere Person selektiert werden.