Login-Konzept: Unterschied zwischen den Versionen

Aus kvwmap
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „=Übersicht= Im Login-Flow ist ungefähr dargestellt welche Varianten es beim Login gibt und wie diese behandelt werden. Abweichungen zur Tatsächlichen Abhand…“)
 
(Neue Stelle angefragt)
 
(4 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
  
 
[[Datei:kvwmap_login.png]]
 
[[Datei:kvwmap_login.png]]
 +
 +
Die gesamte Logik des Login befindet sich in der Datei start.php unter dem Kommentar
 +
 +
"Hier findet sich die gesamte Loging für Login und Reggistrierung, sowie Stellenwechsel"
  
 
=Fälle beim Login=
 
=Fälle beim Login=
Zeile 55: Zeile 59:
 
* Es wurde kein neues Passwort angegeben.
 
* Es wurde kein neues Passwort angegeben.
 
* Keine neue Stelle angefragt. Stelle: 54 bleibt.
 
* Keine neue Stelle angefragt. Stelle: 54 bleibt.
 +
* Lade Stelle und ordne Rolle dem User zu.
 +
 +
==Login mit übergebenem Nutzernamen und Passwort==
 +
Für die Anmeldung können auch Benutzername und Passwort in der URL bzw. dem Request mit angegeben werden. Es müssen folgende Parameter vergeben werden:
 +
* login_name
 +
* passwort
 +
Wird nur login_name angegeben ist der login_name im Feld Nutzername des Anmeldefensters vorausgefüllt.
 +
 +
Beispiel:
 +
 +
https://gdi-service.de/kvwmap_intern/index.php?go=Layer-Suche_Suchen&selected_layer_id=789&login_name=anonymous&passwort=anonymous
 +
 +
Danach laufen folgende Schritte für den Login ab:
 +
* Nicht angemeldet.
 +
* Es ist keine Gastanmeldung.
 +
* Es ist eine reguläre Anmeldung.
 +
* Set Session
 +
* Anmeldung war erfolgreich, Benutzer wurde mit angegebenem Passwort gefunden.
 +
* Agreement ist akzeptiert.
 +
* Es wurde kein neues Passwort angegeben.
 +
* Keine neue Stelle angefragt. Stelle: 59 bleibt.
 +
* Lade Stelle und ordne Rolle dem User zu.
 +
 +
==Schon angemeldet und keine neue Stelle angefragt==
 +
Ist man schon angemeldet und es wurde keine neue Stelle angefragt, wird folgender Ablauf bei der Anmeldung durchgeführt:
 +
* Ist angemeldet an: gdi-service.de/kvwmap_pet_dev/index.php
 +
* Ist angemeldet als: <login_name>
 +
* Keine neue Stelle angefragt. Stelle: <alte_stelle_id> bleibt.
 
* Lade Stelle und ordne Rolle dem User zu.
 
* Lade Stelle und ordne Rolle dem User zu.
  
 
==Neue Stelle angefragt==
 
==Neue Stelle angefragt==
 +
Man kann eine neue Stelle anfragen in dem man eine andere Stelle in dem Menüpunkt Stelle_Wählen auswählt und Übernehmen anklickt oder in dem man eine andere
 +
Stelle_ID schickt.
 +
 +
Beispiel:
 +
 +
https://gdi-service.de/kvwmap_pet_dev/index.php?Stelle_ID=54
 +
 +
Ist man schon angemeldet und es wird eine neue Stelle angefragt, wird folgender Ablauf durchgeführt:
 +
* Ist angemeldet an: gdi-service.de/kvwmap_pet_dev/index.php
 +
* Ist angemeldet als: <login_name>
 +
* Neue Stelle <neue_stelle_id> angefragt.
 +
* Zugang zu Stelle <neue_stelle_id> wird angefragt.
 +
* start get permission in stelle
 +
* Nutzer gehört zur Stelle <neue_stelle_id>
 +
* Passwort ist nicht abgelaufen.
 +
* Nutzer ist in Stelle <neue_stelle_id> erlaubt.
 +
* Setze neue Stellen-ID: <neue_stelle_id> für Nutzer: <user_id>
 +
* Lade Stelle und ordne Rolle dem User zu.
 +
* Speicher neue Stellenoptionen.
 +
 +
==Neue Stelle angefragt, aber nicht erlaubt==
 +
Wir mit dem Parameter Stelle_ID eine Stelle ausgewählt, zu der der Nutzer keinen Zugang hat, wird die folgende Fehlermeldung ausgegeben:
 +
 +
[[Datei:Nutzer_nicht_in_Stelle.png]]
 +
 +
Der Ablauf dabei ist:
 +
* Ist angemeldet an: gdi-service.de/kvwmap_pet_dev/index.php
 +
* Ist angemeldet als: korduan
 +
* Neue Stelle <neue_falsche_stelle_id> angefragt.
 +
* Zugang zu Stelle <neue_falsche_stelle_id> wird angefragt.
 +
* start get permission in stelle
 +
* Nutzer gehört nicht zur Stelle <neue_falsche_stelle_id>
 +
* Zugang zur Stelle <neue_falsche_stelle_id> für Nutzer nicht erlaubt weil: Der Nutzer ist nicht der Stelle zugeordnet oder es gibt diese Stelle in der Anwendung nicht.
 +
* Lade Stelle und ordne Rolle dem User zu.
 +
 +
Geladen wird in diesem Fall die Stelle an der der Nutzer zu letzt angemeldet war.
  
 
==Passwort ist abgelaufen==
 
==Passwort ist abgelaufen==
Zeile 76: Zeile 144:
  
 
==Nutze vorhandene Session User nicht vorhanden==
 
==Nutze vorhandene Session User nicht vorhanden==
 +
 +
=Nutzer einladen=
 +
 +
==Übersicht der Einladungen==
 +
 +
==Neue Einladung erstellen==
 +
 +
==Als neuer Nutzer Registrieren==
 +
 +
=Passwort von Nutzer zurücksetzen=
 +
 +
==Zurücksetzen==
 +
Der Admin kann sich die Liste der Nutzer aufrufen und sich den Nutzer aufrufen, dessen Passwort zurückgesetzt werden soll.
 +
In dieser Ansicht gibt es einen Link mit dem das Zurücksetzen angestoßen werden kann.
 +
Wird dieser Link angeklickt, wird zum einen ein neues zufälliges Passwort für den Nutzer eingetragen und das Datum der letzten Anmeldung weiter zurückgesetzt als die Gültigkeitsdauer des Passwortes in der letzten Stelle des Nutzers und für diese Stelle eingestellt, dass die Gültigkeitsdauer des Passwortes überprüft wird. Des Weiteren wird der Mail-Client geöffnet mit einer Mailvorlage für die Information des Nutzers. Die E-Mail des Nutzers sollte vorher hinterlegt worden sein, sonst muss sie jetzt im Mail-Client eingetragen werden.
 +
Der Mail-Text beinhaltet ein Link zur Anmeldung mit dem zufällig generierten Passwort als altes Passwort und dem Login-Namen des Nutzers. Die E-Mail wird vom Administrator verschickt. Damit ist sein Part beendet.
 +
 +
==Neues Passwort festlegen==
 +
Der Nutzer bekommt eine E-Mail mit dem Link, der das Passwort beinhaltet mit dem er sich ein neues vergeben kann. Er klickt auf den Link und kommt direkt zur Seite in der er sich ein neues Passwort eintragen kann. Das muss er bestätigen. Wenn das neue Passwort den Vorgaben hinsichtlich Länge und Bestandteile entspricht, wird das neue Passwort gesetzt und es erfolgt der Login.

Aktuelle Version vom 29. August 2018, 17:10 Uhr

Übersicht

Im Login-Flow ist ungefähr dargestellt welche Varianten es beim Login gibt und wie diese behandelt werden. Abweichungen zur Tatsächlichen Abhandlung im Quellcode können sein. Die Zahlen in der Grafik decken sich mit Nummern im Quellcode zur Orientierung für den Zusammenhang zwischen den Fällen in dieser Grafik und im Quellcode.

kvwmap login.png

Die gesamte Logik des Login befindet sich in der Datei start.php unter dem Kommentar

"Hier findet sich die gesamte Loging für Login und Reggistrierung, sowie Stellenwechsel"

Fälle beim Login

Normaler Login

Bei einer Anmeldung ohne dass man schon vorher angemeldet war und ohne die Übernahme einer anderen Session und ohne weitere Parameter in der URL erscheint das ganz normale Anmeldefenster welches in der Datei layout/snippets/login.php definiert ist oder alternativ in der Datei, die in der Konstante LOGIN angegeben ist. Durchlaufen wird:

  • Nicht angemeldet.
  • Es ist keine Gastanmeldung.
  • Es ist keine Anmeldung.
  • Es ist keine Registrierung.
  • Zeige Login-Form

Login mit falschen Zugangsdaten fehlgeschlagen

Es erscheint wieder das Login-Fenster, aber mit vorher eingetragenem Namen und Password, sowie einem Hinweis, wie oft man sich schon falsch angemeldet hat. Je öfter man sich falsch anmeldet, desdo länger dauert es bis das Anmeldefenster wieder erscheint. Die Anzahl der falschen Anmeldungen werden pro Nutzer hochgezählt.

Anmeldung fehlgeschlagen.png

Der Ablauf ist:

  • Nicht angemeldet.
  • Es ist keine Gastanmeldung.
  • Es ist eine reguläre Anmeldung.
  • Anmeldung ist fehlgeschlagen.
  • Zeige Login-Form

Login erfolgreich

Man kommt zur Anwendung in die Stelle in der man zuletzt angemeldet war. Der Ablauf ist:

  • Nicht angemeldet.
  • Es ist keine Gastanmeldung.
  • Es ist eine reguläre Anmeldung.
  • Set Session
  • Anmeldung war erfolgreich, Benutzer wurde mit angegebenem Passwort gefunden.
  • Es wurde kein neues Passwort angegeben.
  • Keine neue Stelle angefragt. Stelle: xx bleibt.
  • Lade Stelle und ordne Rolle dem User zu.

Login erfolgreich Agreement noch nicht akzeptiert

Kommt, wenn der Login erfolgreich war, aber in der Konstante AGREEMENT_MESSAGE eine HTML-Datei angegeben wurde und dem Inhalt noch nicht zugestimmt wurde. Angezeigt wird die HTML-Datei. Nach Bestätigung kommt der nächste Fall.

Login erfolgreich Agreement schon akzeptiert

Nach dem erfolgreichen Login wird die Session-ID und der Nutzername in der Session gespeichert und vorausgesetzt dem eventuell vorhandene Agreement wurde schon zugestimmt, die Anwendung in der Stelle gestartet, an der der Nutzer zuletzt angemeldet war. Der Ablauf ist:

  • Nicht angemeldet.
  • Es ist keine Gastanmeldung.
  • Es ist eine reguläre Anmeldung.
  • Set Session
  • Anmeldung war erfolgreich, Benutzer wurde mit angegebenem Passwort gefunden.
  • Agreement ist akzeptiert.
  • Es wurde kein neues Passwort angegeben.
  • Keine neue Stelle angefragt. Stelle: 54 bleibt.
  • Lade Stelle und ordne Rolle dem User zu.

Login mit übergebenem Nutzernamen und Passwort

Für die Anmeldung können auch Benutzername und Passwort in der URL bzw. dem Request mit angegeben werden. Es müssen folgende Parameter vergeben werden:

  • login_name
  • passwort

Wird nur login_name angegeben ist der login_name im Feld Nutzername des Anmeldefensters vorausgefüllt.

Beispiel:

https://gdi-service.de/kvwmap_intern/index.php?go=Layer-Suche_Suchen&selected_layer_id=789&login_name=anonymous&passwort=anonymous

Danach laufen folgende Schritte für den Login ab:

  • Nicht angemeldet.
  • Es ist keine Gastanmeldung.
  • Es ist eine reguläre Anmeldung.
  • Set Session
  • Anmeldung war erfolgreich, Benutzer wurde mit angegebenem Passwort gefunden.
  • Agreement ist akzeptiert.
  • Es wurde kein neues Passwort angegeben.
  • Keine neue Stelle angefragt. Stelle: 59 bleibt.
  • Lade Stelle und ordne Rolle dem User zu.

Schon angemeldet und keine neue Stelle angefragt

Ist man schon angemeldet und es wurde keine neue Stelle angefragt, wird folgender Ablauf bei der Anmeldung durchgeführt:

  • Ist angemeldet an: gdi-service.de/kvwmap_pet_dev/index.php
  • Ist angemeldet als: <login_name>
  • Keine neue Stelle angefragt. Stelle: <alte_stelle_id> bleibt.
  • Lade Stelle und ordne Rolle dem User zu.

Neue Stelle angefragt

Man kann eine neue Stelle anfragen in dem man eine andere Stelle in dem Menüpunkt Stelle_Wählen auswählt und Übernehmen anklickt oder in dem man eine andere Stelle_ID schickt.

Beispiel:

https://gdi-service.de/kvwmap_pet_dev/index.php?Stelle_ID=54

Ist man schon angemeldet und es wird eine neue Stelle angefragt, wird folgender Ablauf durchgeführt:

  • Ist angemeldet an: gdi-service.de/kvwmap_pet_dev/index.php
  • Ist angemeldet als: <login_name>
  • Neue Stelle <neue_stelle_id> angefragt.
  • Zugang zu Stelle <neue_stelle_id> wird angefragt.
  • start get permission in stelle
  • Nutzer gehört zur Stelle <neue_stelle_id>
  • Passwort ist nicht abgelaufen.
  • Nutzer ist in Stelle <neue_stelle_id> erlaubt.
  • Setze neue Stellen-ID: <neue_stelle_id> für Nutzer: <user_id>
  • Lade Stelle und ordne Rolle dem User zu.
  • Speicher neue Stellenoptionen.

Neue Stelle angefragt, aber nicht erlaubt

Wir mit dem Parameter Stelle_ID eine Stelle ausgewählt, zu der der Nutzer keinen Zugang hat, wird die folgende Fehlermeldung ausgegeben:

Nutzer nicht in Stelle.png

Der Ablauf dabei ist:

  • Ist angemeldet an: gdi-service.de/kvwmap_pet_dev/index.php
  • Ist angemeldet als: korduan
  • Neue Stelle <neue_falsche_stelle_id> angefragt.
  • Zugang zu Stelle <neue_falsche_stelle_id> wird angefragt.
  • start get permission in stelle
  • Nutzer gehört nicht zur Stelle <neue_falsche_stelle_id>
  • Zugang zur Stelle <neue_falsche_stelle_id> für Nutzer nicht erlaubt weil: Der Nutzer ist nicht der Stelle zugeordnet oder es gibt diese Stelle in der Anwendung nicht.
  • Lade Stelle und ordne Rolle dem User zu.

Geladen wird in diesem Fall die Stelle an der der Nutzer zu letzt angemeldet war.

Passwort ist abgelaufen

Passwortänderung ist fehlgeschlagen

Nutzer ist nicht Mitglied in der angefragten Stelle

IP-Adresse ist in der Stelle nicht erlaubt

Gastanmeldung ohne Browsersize

Gastanmeldung mit Browsersize

Logout

Nutze vorhandene Session User vorhanden

Nutze vorhandene Session User nicht vorhanden

Nutzer einladen

Übersicht der Einladungen

Neue Einladung erstellen

Als neuer Nutzer Registrieren

Passwort von Nutzer zurücksetzen

Zurücksetzen

Der Admin kann sich die Liste der Nutzer aufrufen und sich den Nutzer aufrufen, dessen Passwort zurückgesetzt werden soll. In dieser Ansicht gibt es einen Link mit dem das Zurücksetzen angestoßen werden kann. Wird dieser Link angeklickt, wird zum einen ein neues zufälliges Passwort für den Nutzer eingetragen und das Datum der letzten Anmeldung weiter zurückgesetzt als die Gültigkeitsdauer des Passwortes in der letzten Stelle des Nutzers und für diese Stelle eingestellt, dass die Gültigkeitsdauer des Passwortes überprüft wird. Des Weiteren wird der Mail-Client geöffnet mit einer Mailvorlage für die Information des Nutzers. Die E-Mail des Nutzers sollte vorher hinterlegt worden sein, sonst muss sie jetzt im Mail-Client eingetragen werden. Der Mail-Text beinhaltet ein Link zur Anmeldung mit dem zufällig generierten Passwort als altes Passwort und dem Login-Namen des Nutzers. Die E-Mail wird vom Administrator verschickt. Damit ist sein Part beendet.

Neues Passwort festlegen

Der Nutzer bekommt eine E-Mail mit dem Link, der das Passwort beinhaltet mit dem er sich ein neues vergeben kann. Er klickt auf den Link und kommt direkt zur Seite in der er sich ein neues Passwort eintragen kann. Das muss er bestätigen. Wenn das neue Passwort den Vorgaben hinsichtlich Länge und Bestandteile entspricht, wird das neue Passwort gesetzt und es erfolgt der Login.