Ich versuche, der Seite mit verweigertem Zugriff ein Anmeldeformular hinzuzufügen, und frage mich, ob dies über die Benutzeroberfläche möglich ist.
Anregungen / Ideen?
Ich versuche, der Seite mit verweigertem Zugriff ein Anmeldeformular hinzuzufügen, und frage mich, ob dies über die Benutzeroberfläche möglich ist.
Anregungen / Ideen?
Antworten:
Eine weitere Lösung ist das LoginToboggan-Modul . Es bietet eine Reihe verschiedener Verbesserungen der Anmeldefunktionalität.
Das Logintoboggan-Modul bietet verschiedene Modifikationen des Drupal-Login-Systems in einem externen Modul, indem es die folgenden Funktionen und Verbesserungen der Benutzerfreundlichkeit bietet:
- Benutzer können sich entweder mit ihrem Benutzernamen oder ihrer E-Mail-Adresse anmelden.
- Benutzer können sich sofort anmelden.
- Stellen Sie ein Anmeldeformular auf Seiten mit Zugriffsverweigerung für nicht angemeldete (anonyme) Benutzer bereit.
- Das Modul bietet zwei Anmeldeblockoptionen: Eine verwendet Javascript, um das Formular innerhalb des Blocks sofort nach dem Klicken auf "Anmelden" anzuzeigen. Der andere bringt den Benutzer auf eine separate Seite, bringt ihn jedoch beim Anmelden auf seine ursprüngliche Seite zurück.
- Passen Sie das Registrierungsformular mit zwei E-Mail-Feldern an, um die Richtigkeit sicherzustellen.
- Leiten Sie den Benutzer optional auf eine bestimmte Seite weiter, wenn Sie die Funktion "Sofortige Anmeldung" verwenden.
- Leiten Sie den Benutzer optional nach Überprüfung seiner E-Mail-Adresse auf eine bestimmte Seite weiter.
- Optional wird eine Benutzermeldung angezeigt, die eine erfolgreiche Anmeldung anzeigt.
- Optional können Sie sowohl das Anmelde- als auch das Registrierungsformular auf einer Seite kombinieren.
- Optional können nicht validierte Benutzer in einem vordefinierten Intervall aus dem System entfernt werden (wichtige Informationen zum Konfigurieren dieser Funktion finden Sie im Abschnitt mit den Einschränkungen in install.txt!).
- Integriert sich in das Regelmodul, um verschiedene Aufgaben auszuführen, wenn ein Benutzer über einen E-Mail-Validierungsprozess validiert ( ein Beispiel finden Sie unter http://drupal.org/node/880904 ).
Das Einstellungskonfigurationsformular verfügt über eine Option namens " Anmeldeformular bei verweigertem Zugriff anzeigen" (403) , mit der genau diese Funktionalität ein- und ausgeschaltet werden kann.
Das CustomError- Modul ermöglicht es dem Site-Administrator, benutzerdefinierte Fehlerseiten für die HTTP-Statuscodes 403 (Zugriff verweigert) und 404 (nicht gefunden) zu erstellen, ohne für jeden Knoten Knoten erstellen zu müssen. Einige weitere Details zu den Funktionen (auf der Projektseite):
- Konfigurierbarer Seitentitel und Beschreibungen.
- Es gibt keine Autoren- und Datums- / Zeitüberschriften wie bei normalen Knoten.
- Jeder HTML-formatierte Text kann in den Seitenkörper eingefügt werden.
- Die Fehlerseiten sind themenfähig.
- Benutzer, die nicht angemeldet sind und versuchen, auf einen Bereich zuzugreifen, für den eine Anmeldung erforderlich ist, werden auf die Seite umgeleitet, auf die sie nach der Anmeldung zugreifen wollten.
- Ermöglicht benutzerdefinierte Weiterleitungen für 404s.
Sie sollten sich für den Teil " Benutzer, die nicht angemeldet sind und versuchen, auf einen Bereich zuzugreifen, für den eine Anmeldung erforderlich ist, werden auf die Seite umgeleitet, auf die sie nach der Anmeldung zugreifen wollten " interessieren .
"Das Hinzufügen von Einstellungen für die Seite" Zugriff verweigert "und das Anzeigen des Blocks" Benutzeranmeldung "auf dieser Seite" ist in der Tat eine Lösung, die funktionieren sollte. Sie können jedoch noch einen Schritt weiter gehen und die Benutzererfahrung von AbitMORE verbessern. Durch Verwendung einer Variation des Ansatzes, der in der Antwort auf die Frage " Wie anonyme Benutzer mithilfe des Regelmoduls zur Anmeldeseite umleiten? " Beschrieben wird .
Nehmen Sie dazu an, dass der Pfad der Seite "Standard 403" auf "no_access" gesetzt ist (via /admin/config/system/site-information
, unten auf dieser Administrationsseite). Erstellen Sie dann mit dem Modul Regeln eine Regel mit dem Ereignis "Nach dem Besuch des Knotens 'no_access'". Damit die gesamte Regel ungefähr so aussieht:
Bedingungen:
Parameter: User: [site:current-user], Roles: anonymous user
Parameter: Text: [site:current-page:url], Matching text: user/login
Aktionen: Seitenumleitung -Parameter: URL: user/login
Wenn Sie dies möchten, können Sie sogar eine weitere Aktion hinzufügen, um auch eine (informative) Nachricht im Drupal-Nachrichtenbereich anzuzeigen, z. B. "Sie haben versucht, eine Seite zu besuchen, für die eine Anmeldung erforderlich ist ...".
Möglicherweise müssen Sie ein zusätzliches Modul ( Regeln ) aktivieren . Wie auch die wachsende Beliebtheit zeigt, ist dieses Modul wahrscheinlich bereits auf fast jeder Site aktiviert (ähnlich dem Views- Modul), da es für dieses Modul Dutzende von Anwendungsfällen gibt. Nur eine Variante dieser Frage: Wie wäre es, die Benutzererfahrung für "Seite nicht gefunden" auf ähnliche Weise zu verbessern?
Eine andere Variante als Alternative zu den Regeln "Aktion" (umzuleiten user/login
) besteht darin, einen bestimmten Knoten zu erstellen, beispielsweise mit einem Pfad wie "my_login_page_with_login_block". Und kombinieren Sie dies dann mit der Konfiguration des Blocks "Benutzeranmeldung" (via admin/structure/block
) wie folgt:
configure
Link " " rechts neben diesem Benutzeranmeldeblock, um die " Sichtbarkeitseinstellungen " für " Seiten " festzulegen . Ändern Sie also die Option für " Block auf bestimmten Seiten anzeigen " in " Nur die aufgelisteten Seiten " und geben Sie den Pfad ( my_login_page_with_login_block
) im Textfeld darunter an. Wenn Sie aus irgendeinem Grund keinen Pfad verwenden möchten, geben Sie stattdessen einfach node / nid (nid = id des Knotens) als Pfad an.Sie können in der Site-Konfiguration (admin / config / system / site-information) Einstellungen für die Seite 'Standard 403 (Zugriff verweigert)' hinzufügen. Zeigen Sie dann auf dieser Seite den Block 'Benutzeranmeldung' (admin / structure / block / manage / user / login / configure) an.
Ohne das LoginToboggan- Modul kann der Benutzeranmeldeblock so konfiguriert werden, dass er auf bestimmten Seiten sichtbar und auf anonyme Benutzer beschränkt ist. Im Block Sichtbarkeitseinstellungen für den Benutzeranmeldeblock:
Setzen Sie auf der Registerkarte "Seiten" "Block auf bestimmten Seiten anzeigen" auf "Nur die aufgelisteten Seiten" und geben Sie die Seiten ein.
Aktivieren Sie auf der Registerkarte "Rollen" die Option "Anonymer Benutzer" für den Block Anzeigen für bestimmte Rollen.
Theoretisch könnten Sie die Seite Standard 403 (Zugriff verweigert) unter Site-Informationen auf user / login unter / admin / config / system / site-information setzen.
Noch nie ausprobiert, aber es ist nur eine Idee?