Tags:
create new tag
, view all tags

Gäste-Tool Überarbeitung

Was ist neu

  • Berechtigung über Admin-Gruppe anstatt Usergruppe
  • Technische Kontos (unbeschränkt gültig)
  • Verlängern um 1,3,6,9 oder 12 Monate
  • alle Unames eines Gastes verhalten sich ablauftechnisch identisch
  • es gibt neben «normalen» nethz-Gästen auch noch technische Gäste
  • weitere Gäste-Typen sind denkbar (z.B. für Projekte)
  • Memo-Feld für Unames wird aufgewertet

Rollen und Gültigkeit von Services und Usernamen

  • jeder Gast bekommt eine Rolle
  • wird als Eintrag in Tabelle PERSON_ROLE gespeichert
  • Eintrag wird wieder gelöscht, sobald
    • Gast freigegeben wird
    • Gast wieder eine ETH-Beziehung bekommt
  • pro Person maximal 1 Rolle
  • Servicedauer leitet sich NICHT mehr vom LOGIN_UNTIL des Usernamens ab, sondern
    • von der Rolle der Person
    • von der Gültigkeit des Uname
  • NEW Ein neues Datumsfeld im User-Objekt VALID_UNTIL enthält die Gültigkeit des Uname
  • NEW Services orientieren sich an UNAME.VALID_UNTIL, das heisst
    • GRANTED_SERVICE.LOGIN_UNTIL
    • GRANTED_SERVICE.DELETE_AFTER
    • werden relativ zu UNAME.VALID_UNTIL gesetzt
  • in den Feldern ROLE.UNAME_DEFAULTS sowie ROLE.SERVICE_DEFAULTS werden Standard-Ablaufdaten für Unames als auch für Services festgelegt
  • Beispiel für UNAME_DEFAULTS:
   login_until => [  "ADD_MONTHS(TRUNC(SYSDATE),13)" ],
   valid_until => [ "ADD_MONTHS(TRUNC(SYSDATE),12)" ],
   delete_after => [ "TO_DATE('31-DEC-9999')" ]
  • Die Werte für SERVICE_DEFAULTS können relativ zu den Werten des Uname angegeben werden:
   login_until => ['ADD_MONTHS(uname.valid_until,1)'],
   delete_after=> ['ADD_MONTHS(uname.valid_until,2)'],
  • Programmatisch können die Werte so ausgelesen werden:
    • $role->get_uname_defaults
    • $role->get_service_defaults
    • die Werte werden als Hash-Referenz zurückgegeben
    • das SELECT-Statement ist deshalb als Array-Referenz, damit SQL::Abstract diesen String als SQL ausführt (und nicht als String)
    • es muss sichergestellt werden, dass alle nethz-Gäste ein VALID_UNTIL gesetzt haben

Änderungen Gäste-Status

  • Alle Monatsgäste in normale Gäste umwandeln
  • Alle Gäste: Rolle nethz_guest zuweisen
  • alle IS_NOBODY-Personen als technische Kontos markieren
  • Doppelrollen (IS_ANYPERSON, IS_NOBODY) vermeiden
  • LOCKED_BY_NPID (-2, 2) löschen
  • Kursleiter neuer Name: Selbstregistrierung
  • Selbstreg-Gast muss kein Admin sein!

Admin-Berechtigungen

  • technische Gäste werden immer einer Admin-Gruppe zugeordnet
  • alle Admins haben so immer einen Überblick über ihre technischen Kontos

Funktionalitäten

  • DONE Neuen nethz Gast erstellen
  • DONE Neuen PDB-Gast erstellen
  • DONE Neuen technischen Gast erstellen
  • DONE Gast-Daten mutieren
  • DONE neuen User erstellen
  • DONE bestehenden User übernehmen
  • DONE User mutieren
  • DONE einzelnen User und seine Services löschen
  • DONE Gast an anderen Gastgeber übergeben
  • DONE Gast an eine andere Admingruppe übergeben
  • DONE nethz-Gast in technischen Gast umwandeln
  • DONE technischen Gast in nethz-Gast umwandeln
  • DONE Services erteilen (mit richtigem Ablaufdatum)
  • DONE Services mutieren
  • DONE Services löschen
  • DONE Username (inkl. Services) löschen
  • DONE Gast inkl. Username und Services löschen
  • Gast durch einen anderen Admin als Gastgeber bearbeiten
  • Admin-Service entziehen: Alle Gäste werden der Admin-Gruppe übergeben
  • DONE Berechtigungen überprüfen
    • DONE Show-User (Link zum Gäste-Tool)
    • DONE standard_service.fastpl (Link zum Gäste-Tool)

Nice to have

  • TODO Technische Gäste für 1, 2, 3 Jahre
  • TODO Benachrichtigung (z.B. der Admingruppe), wenn technischer Gast abläuft
  • TODO Gäste gruppieren oder filtern (nach Institut oder sonst einem Begriff)

To Dos

  • TODO legacy-Ablaufdatum (31-DEC-9999) von Services für nethz-Gäste anpassen (an VALID_UNTIL orientieren)
  • TODO legacy-nethz-Usergruppen für Gäste-User löschen
  • DONE Gäste ohne IS_ANYPERSON / IS_ANYPERSON ohne Gästestatus
  • DONE Zuständigkeiten für ETH-Gäste lösen
  • DONE Gäste mit erneuter ETH-Beziehung: Gäste-Status löschen (Trigger überarbeiten!)
  • DONE NOCYCLING für Gäste und Gastgeber (A ist Gast von B und B ist Gast von A)
  • DONE Gast soll erst dann gelöscht werden können, wenn alle User dieses Gastes gelöscht sind (Bircher-safe)
  • DONE Berechtigungsprüfung für sekundäre Usernamen überarbeiten (Generell: can_administrate_person anstatt can_administrate_uname)
  • DONE Privileg create_guests_year und create_guests_months wird zu create_guests
  • DONE Admins mit Jahresgäste-Privileg create_guests_year auch noch mit Technischen Account-Privileg ausstatten
  • DONE Monatsgäste in normale Gäste umwandeln
  • DONE Pseudo-Personen (NPID -2, -1, 1, 2) löschen
  • DONE alle NOBODY Gäste in ANYBODY und technische Gäste umwandeln

-- SwenVermeul - 2011-11-30

Topic revision: r25 - 2012-04-18 - vermeul
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback