ConPresso bietet prinzipiell zwei Möglichkeiten zur Integration eines Logins im Frontend eines ConPresso-Projekts.
Variante 1
Leiten Sie den Besucher Ihres ConPresso-Projekts über einen Link einfach auf
die Seite member.php
der jeweiligen Rubrik, in die der
Benutzer eingeloggt werden soll. Dabei spielt es keine Rolle, ob sich der
Benutzer in eine geschlossene oder eine personalisierte Rubrik einloggen
soll.
Da die Seite member.php
beim Aufruf von
geschlossenen Rubriken von ConPresso selbstständig aufgerufen wird, wird dieses
Vorgehen in der Regel insbesondere beim Login in personalisierte Rubriken
Verwendung finden. Beim Aufruf der Datei member.php
werden
von ConPresso automatisch die benötigten Login-Felder angezeigt.
Hat sich der Benutzer erfolgreich identifiziert, so steht ihm im gesamten Projekt der für seine Benutzergruppe zugängliche Content zur Verfügung. Ein erneutes Login für den Aufruf anderer personalisierter oder geschlossener Bereiche im Rahmen der eigenen Rechte ist nicht mehr notwendig.
Variante 2
Eine andere Möglichkeit die Login-Funktionalität in das ConPresso-Projekt zu integrieren besteht darin einen der folgenden Code-Abschnitte in eine der Header- oder Footer-Dateien einzufügen. Der Benutzer des Frontends muss in diesem Fall keine separate Seite für den Login-Vorgang aufrufen, da die Login-Felder an einer beliebigen Stelle eingeblendet werden können. Über die Anpassung der folgenden Beispiele kann das Formular vollständig den eigenen - vor allem visuellen - Vorstellungen entsprechend gestaltet werden.
Beispiel 16.1. Einfaches Login-Formular für das ConPresso-Frontend
<!-- start of login form --> <form method="post" action="member.php"> <input type="hidden" name="rubric" value="RUBRIK" /> <input type="hidden" name="action" value="dologin" /> <strong>Benutzername:</strong><br /> <input type="text" name="username" /><br /> <strong>Passwort:</strong><br /> <input type="password" name="password" /><br /> <input type="submit" value="Anmelden" /> </form> <a href="member.php?action=password_reset&rubric=RUBRIK"> Passwort vergessen?</a><br /> <!-- end of login form -->
In diesem Beispiel nehmen Sie bitte die folgenden Anpassungen vor.
Zeile | Anpassung |
---|---|
<form method="post" action="member.php"> | ggf. Pfad der member.php |
<input type="hidden" name="rubric" value="RUBRIK" /> | Anpassung von Rubrikname oder -ID, hier: "RUBRIK" |
<a href="member.php?action=password_reset&rubric=RUBRIK">Passwort vergessen?</a><br /> | Anpassung von Rubrikname oder -ID, hier: "RUBRIK" und ggf des Pfads zur member.php |
Über die optionale Zeile
<a href="member.php?action=password_reset&rubric=RUBRIK"> Passwort vergessen?</a><br />
ermöglichen Sie nicht eingeloggten Benutzern den Aufruf der Funktion "Passwort zurücksetzen".
Das zweite Beispiel ist etwas komplexer, dafür aber auch etwas eleganter in Funktion und Umsetzung. Die Integration erfolgt jedoch auf die gleiche einfache Weise wie im vorherigen Beispiel. Kopieren Sie den folgenden Code-Abschnitt an die gewünschte Position in einer der Header- oder Footer-Dateien.
Beispiel 16.2. Optimiertes Login-Formular für das ConPresso-Frontend
<!-- end of login form --> <?php if (empty($_SESSION['SID_log_login_id'])) { echo '<form method="post" action="'; echo htmlspecialchars(BASE_REL.$directory).'/member.php">'; echo '<input type="hidden" name="action" value="dologin" />'; echo '<input type="hidden" name="rubric" value="'; echo htmlspecialchars($cpoRubric['id']).'" />'; echo 'Benutzername:<br />'; echo '<input type="text" name="username" /><br />'; echo 'Passwort:<br />'; echo '<input type="password" name="password" /><br />'; echo '<input type="submit" value="Anmelden" />'; if ($GLOBALS['cpoSystem']['send_pw']) { echo '<a href="member.php?action=password_reset&rubric='; echo htmlspecialchars($cpoRubric['id']).'">Passwort vergessen?</a>'; } echo '</form>'; } else { echo 'Hallo '.htmlspecialchars($_SESSION['SID_user']['name']).'<br />'; echo '<a href="member.php?action=password&rubric='; echo htmlspecialchars($cpoRubric['id']).'">» Passwort ändern</a>'; echo '<br />'; echo '<a href="member.php?action=logout&rubric='; echo htmlspecialchars($cpoRubric['id']).'">» Logout</a>'; } ?> <!-- end of login form -->
Neben der Anzeige des Login-Formulars prüft dieser Code, ob der Benutzer eingeloggt ist. Ist dies der Fall, werden ihm die Optionen "Passwort ändern" und "Logout" angeboten.
Ist der Benutzer hingegen nicht eingeloggt, so wird neben den Eingabefeldern für Benutzername und Passwort die Option "Passwort zurücksetzen" angeboten.
![]() | Anmerkung |
---|---|
Beide der hier gezeigten Beispiele können selbstverständlich an eigene Bedürfnisse/Anforderungen angepasst werden. Weitere Informationen zur Bearbeitung der ConPresso Header- und Footer-Dateien finden Sie in Abschnitt 15, "ConPresso anpassen". |
Hat ein Benutzer der Rolle "Mitglied" sein Passwort vergessen, so kann
ihm über die Login-Seite member.php
die Funktion "Passwort
zurücksetzen" zur Verfügung gestellt werden, über die der Benutzer ein neues
Passwort anfordern kann.
Wird ein neues Passwort angefordert, so wird das Konto mit einem neuen Zufallspasswort versehen. Dieses wird an genau die E-Mail-Adresse geschickt, die im System dem angegebenen Benutzernamen zugeordnet ist, sofern für diesen Benutzer in der ConPresso-Benutzerverwaltung eine E-Mail-Adresse gespeichert wurde. Diese Funktion ist auf der Website der ConQuarium AG deaktiviert, um zu verhindern, dass die Passwörter zum Login verändert werden können
Sollte der Benutzer keine E-Mail mit dem neuen Passwort erhalten (z.B. weil sich seine in der ConPresso-Benutzerverwaltung eingetragene E-Mail-Adresse zwischenzeitlich geändert hat) oder er seinen Benutzernamen ebenfalls vergessen haben, so muss der Benutzer zwangsläufig den ConPresso-Administrator kontaktieren, um sich manuell ein neues Passwort setzen zu lassen.
![]() | Anmerkung |
---|---|
Der Benutzer kann auch direkt über einen Link auf die Seite
|
Da Benutzer der Rolle "Mitglied" sich nicht in ConPresso einloggen und damit nicht auf den Eintrag "Abschnitt 3.1, "Benutzer bearbeiten") zugreifen können, ist es notwendig, dass diese Benutzer ihr Passwort über das Frontend des Projekts ändern können.
" (sieheWird in einer der Header- bzw. Footer-Dateien das in Abschnitt 5, "Die Funktionen "Login", "Passwort zurücksetzen" und "Passwort ändern" im Frontend" aufgeführte Code-Beispiel 2 verwendet, so wird dem eingeloggten Benutzer automatisch die Option "Passwort ändern" angeboten. Diese Funktion ist auf der Website der ConQuarium AG deaktiviert, um zu verhindern, dass die Passwörter zum Login verändert werden können
![]() | Anmerkung |
---|---|
Der Benutzer kann auch direkt über einen Link auf die Seite
|