Backomania-Webapp-User: Difference between revisions

From Elch-Wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 6: Line 6:
** Variante A: per Einladung eines bestehenden Users oder durch freischaltung eines Admins, bei unbekannten => Wurde am 22.03.2008 verworfen
** Variante A: per Einladung eines bestehenden Users oder durch freischaltung eines Admins, bei unbekannten => Wurde am 22.03.2008 verworfen
** Variante B: per Selbst-Anmeldung mit Schutz durch [http://recaptcha.net/ reCaptcha] und E-Mail an Efan und Roman => Wurde am 22.03.2008 gewählt
** Variante B: per Selbst-Anmeldung mit Schutz durch [http://recaptcha.net/ reCaptcha] und E-Mail an Efan und Roman => Wurde am 22.03.2008 gewählt
* User müssen ihr eigenes Konto verwalten können.
* Nachrichten zwischen Usern
* Nachrichten zwischen Usern
* Verschiedene Styles für die Seite auswählen per Usermanagement (zumindest die Farben und so). Plus Random funktion, bei jedem neuen besuch n'andres design (nicht bei jedem seitenaufruf *g*)
* Verschiedene Styles für die Seite auswählen per Usermanagement (zumindest die Farben und so). Plus Random funktion, bei jedem neuen besuch n'andres design (nicht bei jedem seitenaufruf *g*)
=== Dokumentation Variante B / Selbst-Anmeldung ===
* Die Selbst-Anmeldung beginnt bei b_user_neu.php. Dort wählt der User zuerst über welche Methode er sich künftig authentisieren will (0=Username+PW, 1=OpenID). Ausserdem muss er ein Captcha ausfüllen. Das Formular wird an b_user_neu2.php geschickt.
* In b_user_neu2.php wird zuerst das Captcha geprüft. Falls OK wird in der Session ein Flag gespeichert, so dass bei Problemen (Felder nicht richtig, ...) der User nicht nochmal mit einem Captcha malträtiert wird. Abhängig von der gewählten Methode wird dann ggf. der 1. Teil des OpenID Login gemacht. Nach dem OpenID Login kommt man wieder auf diese Page zurück. Dann werden die vom OpenID Provider übermittelten Felder als Defaults in die Eingabe-Maske übertragen. Bei Methode Username+PW sind die Felder per Default leer. Diverse Javascript-Tests und ein Ajax-Goodie sollen beim Ausfüllen möglichst viele Fehler abfangen. Das Eingabe-Formular wird an b_user_neu3.php geschickt.
* b_user_neu3.php plausibilisiert alle Werte (inkl. Captcha und ggf. OpenID Login) und nur wenn alles OK ist, wird der neue Account angelegt. Nach dem Anlegen wird auch gleich ein Notify-Mail an Efan und Roman geschickt. So haben wir wenigstens ein Detektierendes-Control. Dem User wird grafisch angezeigt, dass der Account nun eingerichtet ist. Er wird auf die Login-Page verwiesen.


=== OpenID ===
=== OpenID ===
Line 19: Line 24:
* Key wurde mit Account romanf erzeugt und gilt für secure.netzone.ch
* Key wurde mit Account romanf erzeugt und gilt für secure.netzone.ch
* Captcha-Erzeugung und Check mit recaptchalib.php von der [http://recaptcha.net/plugins/php/ reCaptcha-Webpage]
* Captcha-Erzeugung und Check mit recaptchalib.php von der [http://recaptcha.net/plugins/php/ reCaptcha-Webpage]
=== User Verwalten ===
Die User-Verwaltung hat zwei Teile:
* b_usermgmt.php: Nur für Admins zugänglich, erlaubt alle Felder des Users zu ändern, inkl. Rolle oder Auth-Methode
* b_user_account.php: Für angemeldete User zugänglich, erlaubt nur die unkritischen Felder zu ändern (z.B. Display-Name)
=== User löschen ===
User können ihre Accounts selber löschen, Admins können User löschen.
Beim Löschen geschiegt folgendes:
* Eintrag aus Tabelle users wird gelöscht
* Bestehende Rezepte werden auf user 1 (default) umgeschrieben
* Bestehende Bilder werden auf user 1 (default) umgeschrieben (Achtung: Im Moment wird sowohl die Tabelle bilder als auch bilder2 und bilder_pfade betrachtet!)
* Die Rezept-Listen des Users werden gelöscht
* Die User-Cookies des Users werden gelöscht

Latest revision as of 21:38, 4 April 2008

Link zu den User-Tabellen.


Konzeptionelle Anforderungen

  • Useranmeldung:
    • Variante A: per Einladung eines bestehenden Users oder durch freischaltung eines Admins, bei unbekannten => Wurde am 22.03.2008 verworfen
    • Variante B: per Selbst-Anmeldung mit Schutz durch reCaptcha und E-Mail an Efan und Roman => Wurde am 22.03.2008 gewählt
  • Nachrichten zwischen Usern
  • Verschiedene Styles für die Seite auswählen per Usermanagement (zumindest die Farben und so). Plus Random funktion, bei jedem neuen besuch n'andres design (nicht bei jedem seitenaufruf *g*)

Dokumentation Variante B / Selbst-Anmeldung

  • Die Selbst-Anmeldung beginnt bei b_user_neu.php. Dort wählt der User zuerst über welche Methode er sich künftig authentisieren will (0=Username+PW, 1=OpenID). Ausserdem muss er ein Captcha ausfüllen. Das Formular wird an b_user_neu2.php geschickt.
  • In b_user_neu2.php wird zuerst das Captcha geprüft. Falls OK wird in der Session ein Flag gespeichert, so dass bei Problemen (Felder nicht richtig, ...) der User nicht nochmal mit einem Captcha malträtiert wird. Abhängig von der gewählten Methode wird dann ggf. der 1. Teil des OpenID Login gemacht. Nach dem OpenID Login kommt man wieder auf diese Page zurück. Dann werden die vom OpenID Provider übermittelten Felder als Defaults in die Eingabe-Maske übertragen. Bei Methode Username+PW sind die Felder per Default leer. Diverse Javascript-Tests und ein Ajax-Goodie sollen beim Ausfüllen möglichst viele Fehler abfangen. Das Eingabe-Formular wird an b_user_neu3.php geschickt.
  • b_user_neu3.php plausibilisiert alle Werte (inkl. Captcha und ggf. OpenID Login) und nur wenn alles OK ist, wird der neue Account angelegt. Nach dem Anlegen wird auch gleich ein Notify-Mail an Efan und Roman geschickt. So haben wir wenigstens ein Detektierendes-Control. Dem User wird grafisch angezeigt, dass der Account nun eingerichtet ist. Er wird auf die Login-Page verwiesen.


OpenID

  • Verwendete PHP-Library: [3], gemäss Doku Auth/ auf Backomania (/secure) kopiert.

reCaptcha

  • Key wurde mit Account romanf erzeugt und gilt für secure.netzone.ch
  • Captcha-Erzeugung und Check mit recaptchalib.php von der reCaptcha-Webpage

User Verwalten

Die User-Verwaltung hat zwei Teile:

  • b_usermgmt.php: Nur für Admins zugänglich, erlaubt alle Felder des Users zu ändern, inkl. Rolle oder Auth-Methode
  • b_user_account.php: Für angemeldete User zugänglich, erlaubt nur die unkritischen Felder zu ändern (z.B. Display-Name)

User löschen

User können ihre Accounts selber löschen, Admins können User löschen. Beim Löschen geschiegt folgendes:

  • Eintrag aus Tabelle users wird gelöscht
  • Bestehende Rezepte werden auf user 1 (default) umgeschrieben
  • Bestehende Bilder werden auf user 1 (default) umgeschrieben (Achtung: Im Moment wird sowohl die Tabelle bilder als auch bilder2 und bilder_pfade betrachtet!)
  • Die Rezept-Listen des Users werden gelöscht
  • Die User-Cookies des Users werden gelöscht