Skip to main content

Passwort vergessen

InhaltNach Drücken von "Paßwort vergessen" wird geladen…auf eine Seite geleitet (pwvergessen.htm), wo man die E-Mail, mit der man angemeldet ist, eingeben muß. Nach Prüfung wird ein DS im Container "Token" angelegt und eine E-Mail mit einem Link (Token und Email im Request) an die angegebene Adresse geschickt. Nach Klicken des Links öffnet sich eine Seite mit Paßwort-Eingabefeldern. Nach Prüfung der Token-Daten wird das neue PW in der Benutzerverwaltung gespeichert.

Containeraufbau:

Token - einfaches Textfeld
Erstelldatum - Datumsfeld
Email - einfaches Textfeld
BC - BC-Verknüpfung
Kontakt - Einzelverknüpfung mit Kontakt-Container

Actions anlegen:

pwvergessen.act

  • Filteraction: prüft, ob's die angegebenen Email im Kontakt-Container gibt und ruft savetoken.act auf
  • Weiterleitung auf Info-Seite

Beispiele

1.) Actionbaustein "Container-Daten Filteraction" - Prüfen, ob's Email im "Kontakte" gibt

list: ID des Kontakte-Containers

xml:

<filter>
<filter-object required="true">
<field>Kontakt_Email</field>
<type>4</type>
<request-value>email</request-value>
</filter-object>
<limit max="1"/>
</filter>

url:

savetoken.act?Token=<bx:tools.uuid/>&Kontakt=<bx:recorddata.id/>&BCVerknuepfung=<bx:recordfield.Kontakt_BC><bx:recorddata.id/></bx:recordfield.Kontakt_BC>&Erstelldatum=<bx:tools.urlencode><bx:tools.datum pattern="dd.MM.yyyy HH:mm"/></bx:tools.urlencode>&Email=<bx:recordfield.Kontakt_Email/>

failurl:

pwvergessen.htm?fehler=1&email=[[email]]

2.) Actionbaustein "Weiterleitung" - Weiterleitung

destination: mailverschickt.htm

savetoken.act

  • Speicheraction: erzeugt neuen Token-DS
  • CMS-Seite verschicken: mit Link (mit Token und Email)

Beispiele

1.) Actionbaustein "Container-Daten speichern" - Neuen Token-DS anlegen

listid: ID des Token-Containers

recordidfield: tokenid

active: ja

2.) Actionbaustein "CMS-Seite versenden" - Email mit Token versenden

alle vorherigen Felder ensprechend ausfüllen

file: pwemail.htm?tokid=[[tokenid]]

checkpw.act

  • prüft, ob Paßwörter da und gleich sind
  • Filteraction: sucht Token anhand von Parametern und Datum raus (prüfen, ob noch gültig), ruft changepw.act auf

Beispiele

1.) Aktionsbaustein "vorhandene Bedingung abfragen" - Paßwörter da?

requestField: Passwort

compareValue: #nodata

conditionTrue: changepw.htm?fehler=1&token=[[token]]&email=[[email]]

2.) Aktionsbaustein "vorhandene Bedingung abfragen" - Paßwörter gleich?

requestField: Passwort

compareValue: [[Passwortwdhlg]]

conditionFalse: changepw.htm?fehler=2&token=[[token]]&email=[[email]]

3.) Aktionsbaustein "Container-Daten Filteraction" - prüfen, ob Token-DS gültig ist

list: ID des Token-Containers

xml:

<filter>
  <filter-object required="true">
    <field>Token</field>
    <type>4</type>
    <request-value>token</request-value>
  </filter-object>
  <filter-object required="true">
    <field>Email</field>
    <type>4</type>
    <request-value>email</request-value>
  </filter-object>
  <filter-object>
    <field>Erstelldatum</field>
    <type>4</type>
    <special-value days="-1">TODAY</special-value>
  </filter-object>
</filter>

url: changepw.act?user=<bx:recordfield.BCVerknuepfung type="id"/>&Token=&tokid=<bx:recorddata.id/>&password=[[Passwort]]

failurl: changepw.htm?fehler=3

4.) Aktionsbaustein "Weiterleitung" - Weiterleitung

destination: ok.htm

changepw.act

  • PW ändern: ändert in der Benutzerverwaltung das Paßwort
  • speichern: löscht den Token im Token-DS, DS selbst bleibt aber erhalten
  • Weiterleitung an Info-Seite (Benutzer muß sich nun mit neuem Paßwort einloggen)

Beispiele

1.) Actionbaustein "Intranet-User anlegen/ändern" - geändertes PW speichern

Parametername des Benutzer-ID-Feldes: user

Parametername des Passwortfeldes: password

2.) Actionbaustein "Container-Datensatz speichern" - Container-Daten speichern

listid: ID des Token-Containers

recordidfield: tokid

Seiten bauen

pwvergessen.htm: Seite mit E-Mail-Eingabe, ruft pwvergessen.act auf, Ausgabe, wenn Email nicht gefunden

Beispiele

<form action="pwvergessen.act" method="post">
  <label for="email">Ihre E-Mail-Adresse: </label>
  <input type="text" id="email" name="email" value="<bx:pagedata.request name="email"/>">
  <bx:pagedata.request name="fehler" value="1">Bitte geben Sie Ihre E-Mail-Adresse an.</bx:pagedata.request>
  <bx:pagedata.request name="fehler" value="2">Mit dieser Email sind Sie nicht angemeldet.</bx:pagedata.request>
  <br>
  <input type="submit" value="abschicken">
</form>

mailverschickt.htm: Info-Seite, "So geht' weiter...", nachdem Email mit dem Token verschickt wurde

changepw.htm: Seite mit Feldern zur Paßwortänderung, ruft checkpw.act auf, Ausgabe, wenn Token nicht mehr gültig

Beispiele

<bx:pagedata.request name="fehler" value="3">Der Link aus der E-Mail ist nicht mehr gültig. Bitte fordern Sie einen neuen Link an.</bx:pagedata.request>
<form action="checkpw.act" method="post">
  <input type="hidden" name="token" value="<bx:pagedata.request name="token"/>">
  <input type="hidden" name="email" value="<bx:pagedata.request name="email"/>">
  <label for="Passwort">neues Paßwort:*</label>
  <input id="Passwort" type="text" name="Passwort" value=""> <bx:pagedata.request name="fehler" value="1">Bitte geben Sie Ihr Paßwort incl. Wiederholung an.</bx:pagedata.request><br>
  <label for="Passwortwdhlg" style="width:145px;">Paßwortwiederholung:*</label>
  <input id="Passwortwdhlg" type="text" name="Passwortwdhlg" value=""> <bx:pagedata.request name="fehler" value="2">Die beiden Paßwörter sind nicht gleich.</bx:pagedata.request><br>
  <input type="submit" value="speichern" style="margin-left:145px;">
</form>

ok.htm: Info-Seite, "So geht' weiter...", nachdem PW erfolgreich geändert wurde

pwemail.htm: Mail mit dem Token

Beispiele

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Paßwort vergessen</title>
</head>
<body>
<bx:containerloop.User pool="132AF649539" idfield="tokid" force="single">
<bx:recordfield.Kontakt>
Guten Tag, <bx:recordfield.Kontakt_Anrede/> <bx:if><bx:recordfield.Kontakt_Vorname/> </bx:if><bx:recordfield.Kontakt_Vorname/> <bx:recordfield.Kontakt_Name/>,
<br><br>
</bx:recordfield.Kontakt>
Sie hatten auf "Paßwort vergessen" geklickt. Wenn nicht, dann ignorieren Sie diese Mail.
<br><br>
Bitte folgenden Link anklicken - Sie können dann ein neues Paßwort vergeben. Dieser Link ist einen Tag gültig und nur einmal verwendbar.
<br>
**********************************************************************************************************************<br>
http://mrp.batix.net/www/nab/mitgliederbereich/changepw.htm?token=<bx:recordfield.Token/>&amp;email=<bx:recordfield.Email/>
**********************************************************************************************************************<br>
Bitte beachten Sie: Bei einigen Browsern und E-Mail-Programmen lässt sich der Link nicht anklicken. Sollte dies der Fall sein, kopieren Sie bitte den kompletten Link in die Adresszeile Ihres Browsers und bestätigen mit der Return-Taste.
<br><br>
Mit freundlichen Grüßen<br>
Das Notarzt-Börse-Team
</bx:containerloop.User>
</body>
</html>