Login

Voraussetzungen

  • Die Seite mit dem Login-Formular muss für die Rolle Gast sichtbar und darf nicht im Status deaktiviert sein.
  • Die Gast-Rolle muss die Richtlinien Siteroles/frontend:login und Siteroles/frontend:register besitzen.
  • Der Nutzer-Rolle die beim Registrierungsformular gesetzt wird muss die Richtlinie Siteroles/frontend:logout besitzen.
  • Der Nutzer muss im Status online sein damit er sich anmelden kann.

Login-Formular

Das folgende Beispiel zeigt ein Anmeldeformular mit Benutzername und Passwort wenn man nicht angemeldet ist und den Benutzernamen mit Abmeldelink wenn der Nutzer sich richtig angemeldet hat.

Wichtig: Das Attribut name der <input/>-Elemente darf nicht geändert werden.

<ty:siteroles mode="loggedout">
<form action="<?php echo tyGetURLByTopic("userdata"); ?>" method="post" name="login" id="loginform">
	<input type="hidden" name="login" value="Anmelden"/>
	<input name="login_email" id="email" type="text" class="input_login<ty:siteroles mode="error" name="login_failure"> formerror logerror</ty:siteroles>" value="<?php echo htmlentities(strip_tags($_REQUEST['login_email']));?>">
	<input name="login_password" type="password" class="input_login<ty:siteroles mode="error" name="login_failure"> formerror logerror</ty:siteroles>">
	<button type="submit" name="login_button"><?php if ($tyState["lang"] == "de" ) { echo "Login"; } else { echo "Anmelden"; } ?></button><br>
	<a href="<?php echo tyGetUrlByTopic("registrierseite"); ?>">registrieren</a>
</form>
</ty:siteroles>
<?php if (!$tyState["editMode"]) { ?>
	<ty:siteroles mode="loggedin">
		You are logged in as: <ty:siteroles mode="attribut-value" name="email"><ty-siteroles:value/></ty:siteroles><br><a href="<?php echo $_SERVER["REQUEST_URI"]; echo (!empty($_SERVER['QUERY_STRING'])?"&logout=1":"?logout=1"); ?>" target="_self">Logout</a>
	</ty:siteroles>
<?php
}
?>
<?php if ($tyState["editMode"]) { ?>
	Login nicht verfügbar
<?php } ?>

Registrierung

Registrierformular

  • Im Formularmanager ein neues Formular erstellen.
  • Formular-Elemente hinzufügen:
    • Anrede (optional):
      • Spalten-Typ: enum mit den Werten '','Frau','Herr'
      • Formulartyp: select oder radio
      • Bezeichnung: salutation
      • nach dem Übernehmen der Formulareinstellungen:
        • Pflichtfeld aktivieren?
        • als Siteroles-Attribut speichern aktivieren
    • Vorname (optional):
      • Spalten-Typ: varchar , Länge 30 Zeichen
      • Formulartyp: text - ohne HTML-Tags
      • Bezeichnung: firstname
        • nach dem Übernehmen der Formulareinstellungen:
          • Pflichtfeld aktivieren
          • als Siteroles-Attribut speichern aktivieren
    • Nachname (optional):
      • Spalten-Typ: varchar , Länge 30 Zeichen
      • Formulartyp: text - ohne HTML-Tags
      • Bezeichnung: lastname
        • nach dem Übernehmen der Formulareinstellungen:
          • Pflichtfeld aktivieren
          • als Siteroles-Attribut speichern aktivieren
    • EMail:
      • Spalten-Typ: varchar
      • Formulartyp: text - Mail-Adresse
      • Bezeichnung: email
        • nach dem Übernehmen der Formulareinstellungen:
          • Pflichtfeld aktivieren
          • einmalige Werte (Unique-Feld) aktivieren
          • Fehlermeldung für einmalige Werte angeben, z.B: Die angegebene E-Mail Adresse ist bereits im System registriert.
          • Fehlermeldung z.B : ungültige Mail-Adresse
          • Registrierungsformular aktivieren
          • bei Rollen mind. eine Frontend-Rolle wählen (!! Keine Backend-Rolle !!)
    • Passwort (optional; Ohne ein Formularelement für die Passworteingabe erzeugt myty ein zufälliges Passwort) :
      • Spalten-Typ: varchar, Länge 15 bis 30
      • Formulartyp: password - Validierung oder password
      • Bezeichnung: password
      • nach dem Übernehmen der Formulareinstellungen:
        • Pflichtfeld aktivieren
        • Fehlermeldung z.B: Passwort und Passwortwiederholung stimmen nicht überein
    • Captcha :
      • Spalten-Typ: varchar, Länge 10 bis 20
      • Formulartyp: text - Captcha
      • Bezeichnung: captcha
      • nach dem Übernehmen der Formulareinstellungen:
        • Pflichtfeld aktivieren
        • Fehlermeldung
        • Text z.B : Zur Vermeidung von Spam Attacken bitten wir Dich, den Wert der Grafik in das Textfeld zu übernehmen.
  • Speichern-Button hinzufügen:
    • unter Schaltflächen Beschriftung für Submit-Button angeben und aktivieren
  • unter Einstellungen für Registrierungsformulare
    • Anmeldeverfahren: Single Opt-In oder Double Opt-In aktivieren
    • Status des Nutzers: Diese Einstellung des Status wird nur Berücksichtigt wenn kein Anmeldeverfahren verwendet wird
  • unter Weiterleitung
    • den Navigationspunkt auswählen der nach einer erfolgreicher Registrierung aufgerufen wird
  • Formular Speichern.

Single und Double Opt-In

Ablauf des Single Opt-In

Beim Single Opt-In wird nach dem Absenden des Registrierungsformulars eine Bestätigungsmail an die eingegebenen Mail-Adresse versendet. In dieser Mail ist ein Link zur Bestätigung und ein Link zum Löschen der Registrierung enthalten. Beim Klick auf den Bestätigungslink ist die Registrierung erfolgreich beendet. Der Siteroles-Nutzeraccount wird in den Status online gesetzt und es wird die Opt-In-Seite geöffnet. Der Nutzer kann sich nun anmelden. Beim Klick auf den Link zum Löschen der Registrierung werden der erstellte Datensatz und der Siteroles-Nutzer aus dem Myty-System gelöscht.

Ablauf des Double Opt-In

Das Double Opt-In basiert auf dem Single Opt-In, enthält aber eine weitere Prüfinstanz. Nachdem der registrierte Nutzer den Bestätigungslink aufgeruft hat ist der Login noch nicht aktiv (Der Siteroles-Nutzeraccount wird in den Status ratification gesetzt). Der Administrator erhält eine Mail über die erfolgreiche Registrierung. Dieser kann nun den Login des Nutzers aktivieren.

Umsetzen des Single Opt-In

  1. Registrierungsformular erstellen (siehe oben Registrierformular)
  2. Mailvorlage für die Bestätitungsmail erstellen
  3. Opt-In- /Opt-Out-Link in der Mailvorlage integrieren
    • Opt-In-Link:
      <a href="<ty:siteroles mode="optinout"><ty-siteroles:optinLink/></ty:siteroles>">Registrierung jetzt best&auml;tigen</a>
    • Opt-Out-Link:
      <a href="<ty:siteroles mode="optinout"><ty-siteroles:optoutLink/></ty:siteroles>">Registrierung nicht bestätigen</a>
  4. Mailvorlage mit dem Formular verknüpfen
    • In der Formularmanager-Box das erstellte Formular auswählen und das 4. Icon von Links klicken
    • die Mailvorlage für die Registrierungsbestätigung auswählen
    • unter Empfänger das Formularelement mit dem Eingabefeld für die Mail-Adresse auswählen.
  5. Navigationspunkt für die Opt-In- / Opt-Out-Seite
    • einen neuen Navigatiosnpuntk erstellen (Für die Opt-In- / Opt-Out-Seite kann der gleiche Navigationspunkt verwendet werden)
    • Schnipsel mit folgenden Code einbinden:
      <div>
      <ty:content id="text">Freischaltung Deines Accounts</ty:content>
      <ty:siteroles mode="error" name="optin_success">
      <ty:content id="optin_success"><p>Ihre Registrierung war erfolgreich.</p></ty:content>
      </ty:siteroles>
      <ty:siteroles mode="error" name="optin_failure">
      <ty:content id="optin_failure"><p>Bei der Freischaltung Ihres Benutzerkontos ist ein Fehler aufgetreten....</p></ty:content>
      <ty:siteroles mode="error" name="allready_in_status"><ty:content id="allready_in_status"><p>Sie sind bereits freigeschalten.</p></ty:content></ty:siteroles>
      <ty:siteroles mode="error" name="user_not_found"><ty:content id="user_not_found"><p>Dieses Konto existiert nicht. Wahrscheinlich ist der Link nicht korrekt.</p></ty:content></ty:siteroles>
      <ty:siteroles mode="error" name="wrong_signature"><ty:content id="wrong_signature"><p>Der aufgerufene Link ist nicht korrekt.</p></ty:content></ty:siteroles>
      </ty:siteroles>
      <ty:siteroles mode="error" name="optout_success"><ty:content id="optout_success"><p>Ihre Registrierung wurde storniert.</p></ty:content></ty:siteroles>
      <ty:siteroles mode="error" name="optout_error">
      <ty:content id="optout_error"><p>Ihre Registrierung konnte nicht storniert werden.</p></ty:content>
      <ty:siteroles mode="error" name="user_not_found"><ty:content id="user_not_found"><p>Dieses Konto existiert nicht. Wahrscheinlich ist der Link nicht korrekt.</p></ty:content></ty:siteroles>
      <ty:siteroles mode="error" name="wrong_signature"><ty:content id="wrong_signature"><p>Der aufgerufene Link ist nicht korrekt.</p></ty:content></ty:siteroles>
      </ty:siteroles>
      </div>
    • Im Bereich Einstellungen (Zahnrad-Icon), im Setup der Rechteverwaltung unter Opt-In / Opt-Out den Navigationspunkt für Opt-In-Seite und Opt-Out-Seite auswählen.

Umsetzen des Double Opt-In

  1. Alle Schritte des Single Opt-In
  2. Im Bereich Einstellungen (Zahnrad-Icon), im Setup der Rechteverwaltung unter Mailkonfiguration
    • Auswahl der Mailvorlage für Mail an Administrator bei erfolgter Registrierung
    • und optional die Mailvorlage für Mail an User nach erfolgter Freischaltung durch den Administrator
    • In den Mailvorlagen können die Daten des erstellen Siteroles-Nutzeraccount über {NAME DES ATTRIBUTS} (z.B {email}, {firsname}, {lastname} ) ausgegeben werden

Logout

Das folgende Formular meldet den Nutzer vom System ab und springt zur Standardseite der Webseite. In den Richtlinien der Nutzergruppe muss für das Modul siteroles das Recht „logout“ aktiviert sein.

<ty:siteroles mode="loggedin">
   <form action="<?php echo tyGetURLByTopic($tyConfig['modules']['nav']['defaultTopic']);?>" method="post" name="logoutForm">
      <input type="submit" name="logout" value="Abmelden" />
   </form>
</ty:siteroles>

oder

<a href="<?php echo $_SERVER["REQUEST_URI"]; echo (!empty($_SERVER['QUERY_STRING'])?"&logout=1":"?logout=1"); ?>" target="_self">Logout</a>

Passwort vergessen

  1. Navigationspunkt Passwort vergessen erstellen
  2. Mailvorlage erstellen, siehe:
  3. Im Bereich Einstellungen (Zahnrad-Icon), im Setup der Rechteverwaltung unter Mailkonfiguration die Mailvorlage für Mail an Nutzer nach Zuschicken eines neuen Passworts auswählen

Nutzerdaten bearbeiten

  1. Im Formularmanager das Registrierformular duplizieren und umbenennen
  2. Achtung: Alle Änderungen an der Datenstruktur der angebunden Datentabelle wirken sich auch auf das Registrierungsformular aus.
  3. Das neue Formular bearbeiten:
    • für das Eingabefeld für die EMail
      • die Option einmalige Werte (Unique-Feld) darf nicht aktiviert sein
      • die Option Registrierungsformular muss weiterhin aktiviert und mind. eine Rolle ausgewählt sein
    • Das Captcha kann entfallen (nicht löschen, den Hacken aus der Checkbox in der Spalte Web entfernen)
    • unter Schaltflächen ggf. die Beschriftung des Submit-Button ändern
    • unter Anmeldeverfahren die Option kein Anmeldeverfahren verwenden aktivieren
    • unter Status des Nutzers die Option Status nicht setzen/ändern aktivieren
    • unter Script-Anbindung ggf. die Script-Pfade entfernen oder ändern
    • unter Weiterleitung die Auswahl des Navigationspunkt oder des Scripts entfernen
    • alle angebundenen Mailvorlagen (4. Icon von Links in der Formularmanager) entfernen.
  4. Einen neuen Navigationspunkt erstellen:
    • Nach dem Anlegen des Navigationspunkts diesen Bearbeiten und den Status von deaktiviert entfernen
    • Wichtig notwendge Seitenrechte für diesen Navigationspunkt:
      • das Recht Anzeigen muss für die Rolle Gast gesperrt und für die Rolle der Registrierten Nutzer aktiviert werden
    • Schnipsel mit folgenden Code einbinden:
      <ty:formmanager id="profile" dbField="user_id" dbValue="<?php echo $_SESSION['subject_id'];?>" />
    • An Stelle des Schnipsels wird ein Icon zur Auswahl des Nutzerdaten bearbeiten-Formulars ausgegeben

Siteroles in der Anwendung

Nutzerdaten Auslesen

Alle für einen Nutzer in den sitroles-Attributen gespeicherten Daten können im angemeldeten Zustand z.B. zur Verwendung in Formularen ausgelesen werden.

Alle Benutzerdaten auslesen
<ty:siteroles mode="attributes">
   <ty-attribute:name/> :<ty-attribute:value/><br/>
</ty:siteroles>
Einzelne Attribute auslesen:
   <ty:siteroles mode="attribut-value" name="name">
      <ty-siteroles:value/>
   </ty:siteroles>
Auslesen aller Rollen, welche dem aktuell angemeldeten Benutzer zugeordnet sind
  <ty:siteroles mode="roles">
     <ty-role:name/><br/>
  </ty:siteroles>
Beispiel - Daten in ein Formular auslesen
<form id="kontaktformular" method="post">
   <label for="vorname">Vorname</label><br />
   <input id="vorname" name="vorname" type="text" value="<ty:siteroles mode="attribut-value" name="vorname"><ty-siteroles:value/></ty:siteroles>" />
   
   <label for="nachname">Nachname</label><br />
   <input id="nachname" name="nachname" type="text" value="<ty:siteroles mode="attribut-value" name="nachname"><ty-siteroles:value/></ty:siteroles>" />

   <label for="email">E-Mail</label><br />
   <input id="email" name="email" type="text" value="<ty:siteroles mode="attribut-value" name="email"><ty-siteroles:value/></ty:siteroles>" />

   <label for="nachricht">Ihre Nachricht</label><br />
   <textarea id="nachricht" name="nachricht">Ihre Nachricht...</textarea>

   <button type="submit">Absenden</button>

</form>

Rollenspezifische Bereiche

Ausgabe von (Quell)Text, wenn ein Nutzer in einer bestimmten Rolle angemeldet ist:

<ty:siteroles mode="loggedin">
   <ty:siteroles mode="inrole" role="bestimmte_rolle">
      <p>Nur für angemeldete Nutzer von "bestimmte_rolle" sichtbar.</p>
   </ty:siteroles>
</ty:siteroles>

Beispiel Profil ändern

Die Beispieldatei zeigt ein Formular zum ändern des Benutzerprofils. Zu beachten ist, dass der Button zum Absenden des Formulars im Attribut „name“ den Wert „siteroles_save“ zugewiesen bekommt.

Formular zum Anfordern eines neuen Passwortes

Zum Zusenden eines neuen Passwortes muss der Nutzer eine im System existierende E-Mail-Adresse über folgendes Formular angeben:

   <ty:siteroles mode="forgot">
      <form action="#" method="post">
         
         <!-- Fehlermeldung, falls Nutzer nicht existiert -->
         <ty:siteroles mode="error" name="forgot_failure_exists">
	    <div class="error">Es existiert kein Nutzer mit der angegebenen E-Mail-Adresse!</div>
	 </ty:siteroles>
         
         <!-- Anzeige nach erfolgreichem Versand -->
         <ty:siteroles mode="noerror" name="forgot_failure_exists">
            <div class="noerror">Sie erhalten in Kürze eine E-Mail mit Ihrem neuen Passwort.</div>
         </ty:siteroles>
         
         <!-- Formularelemente -->
         <label for="email">E-Mail</label><br />
         <input id="email" type="text" name="email" value="E-Mail-Adersse" /><br/>
	 <button type="submit" name="forgot">Neues Passwort zusenden</button>
      </form>
   </ty:siteroles>

Mailvorlage zum Anfordern eines neuen Passwortes

Nutzerattribute, email und das neu gesetzte passwort werden in der Form {firstname}, {lastname} ersetzt. Die Mailvorlage untersützt auch die Syntax: per XML Tag <ty-mail:firstname/>, <ty-mail:lastname/>

Ihre neuen Zugangsdaten:
Login: {email}
Passwort: {password}

oder:

Ihre neuen Zugangsdaten:
Login: <ty-mail:email/>
Passwort: <ty-mail:password/>

Anm.: Unterschiede bei der Verwendung der Tags. Die Syntax mit geschweiften Klammern wird, sofern dieses Nutzerattribut nicht vorhanden ist nicht ersetzt. Die Syntax mit xml-Tags wird hingegen immer ersetzt, auch wenn das abzufragende Attribut nicht bekannt ist.

Siteroles in Verbindung mit dem myty Shop Modul

Daten eines angemeldeten Nutzers können in Verbindung mit dem myty Shop Modul genutzt werden. Es lassen sich alle Daten in ein Formular für Rechnungsadresse übernehmen. Dazu ist allerdings eine eine Rolle notwendig, in welcher die Nutzerdaten in vorgegeben Attributen hinterlegt werden, die dann über ty-Shop-Tags in Eingabefelder ausgelesen werden können. Die in in der Rolle zu nutzenden Attributnamen sind fett markiert:

  • Anrede - salutation - <ty-Shop:userSalutation id=„tyShopSalutation“ />
  • Titel - title - <ty-Shop:userTitle id=„tyShopTitle“ />
  • Nachname - lastname - <ty-Shop:userLastname id=„tyShopLastname“ />
  • Vorname - firstname - <ty-Shop:userFirstname id=„tyShopFirstname“ />
  • Firma - company - <ty-Shop:userCompany id=„tyShopCompany“ />
  • Strasse - address - <ty-Shop:userAddress id=„tyShopAdress“ />
  • Hausnr. - address_nr - <ty-Shop:userAddressNr id=„tyShopAdressNr“ />
  • PLZ - zip - <ty-Shop:userZip id=„tyShopZip“ />
  • Ort - city - <ty-Shop:userCity id=„tyShopCity“ />
  • Land - country - <ty-Shop:userCountry id=„tyShopCountry“ />
  • Telefon - phone - <ty-Shop:userPhone id=„tyShopPhone“ />
  • Fax - fax - <ty-Shop:userFax id=„tyShopFax“ />
  • E-Mail - email - <ty-Shop:userEmail id=„tyShopEmail“ />
  • Geburtstag - birthday - <ty-Shop:userBirthday id=„tyShopBirthday“ />
  • frei definierbar - additional - <ty-Shop:userAdditional id=„tyShopAdditional“ />
Beispiel

Das folgende Beispiel erzeugt im Bestellvorgang ein Formular zur Eingabe der Nutzerdaten. Die ty-Shop:user… Tags erzeugen Texteingabefelder, in welche beim angemeldete Nutzer Nutzerdaten aus siteroles (wenn vorhanden) übernommen werden.

   <ty:shop element="user" type="form">
      
      <label for="tyShopFirstname">Vorname</label><br />
      <ty-Shop:userFirstname id="tyShopFirstname" />
      
      <label for="tyShopLastname">Nachname</label><br />
      <ty-Shop:userLastname id="tyShopLastname" />
      
      <label for="tyShopCompany">Firma</label><br />
      <ty-Shop:userCompany id="tyShopCompany" />
 
      <label for="tyShopAddress">Strasse</label><br />
      <ty-Shop:userAddress id="tyShopAddress" />

      <label for="tyShopAddressNr">Strasse</label><br />
      <ty-Shop:userAddressNr id="tyShopAddressNr" />

      ...

      <ty-Shop:userStoreUserData>Zur Auswahl der Zahlungsart</ty-Shop:userStoreUserData>

   </ty:shop>

Nutzerstatistik

Ab myty Version 3.5 / 4.0 verfügbar.

Gibt aus wieviele Nutzer sich gerade auf Ihrer Internetseite befinden:

Es befinden sich <ty:siteroles mode="usercount"/> Gäste auf der Seite.
oder: 
Es befinden sich <ty:siteroles mode="usercount" role="Gast"/> Gäste auf der Seite.

Nutzer aus meheren Rollen kumuliert ausgeben:
Es befinden sich <ty:siteroles mode="usercount" role="Shopkunden,Intern"/> Angemeldete Nutzer auf der Seite

diese Information wird maximal 15 Minuten gespeichert. Verschiedene Nutzer werden über Ihrer session_id identifiziert. Es ist möglich mehrere Rollen anzugeben, um so eine kumulierte Statistik über mehrer Rollen anzuzeigen. Jede session_id wird hier über alle Rollen nur einmal gezählt.

Nutzerimport

Die folgende PDF-Datei zeigt, wie man Nutzer aus einer CSV-Datei in das myty importiert:

http://www.tycon.info/media/doku/myty%20-%20Nutzerimport.pdf

 
site_roles.txt · Zuletzt geändert: 2011/12/09 10:30 von frank.hoenisch
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki