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>