it-swarm.com.de

Wie füge ich ein Anmeldeformular zur Seite "Zugriff verweigert" hinzu?

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?

7
jelly46

Eine andere Lösung ist das LoginToboggan-Modul . Es bietet eine Reihe verschiedener Verbesserungen der Anmeldefunktionalität.

Das logintoboggan-Modul bietet verschiedene Modifikationen des drupal-Anmeldesystems in einem externen Modul), indem es die folgenden Funktionen und Verbesserungen der Benutzerfreundlichkeit bietet:

  1. benutzer können sich entweder mit ihrem Benutzernamen oder ihrer E-Mail-Adresse anmelden.
  2. benutzer können sich sofort anmelden.
  3. stellen Sie ein Anmeldeformular auf Seiten mit Zugriffsverweigerung für nicht angemeldete (anonyme) Benutzer bereit.
  4. 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.
  5. passen Sie das Registrierungsformular mit zwei E-Mail-Feldern an, um die Richtigkeit sicherzustellen.
  6. leiten Sie den Benutzer optional auf eine bestimmte Seite weiter, wenn Sie die Funktion "Sofortige Anmeldung" verwenden.
  7. leiten Sie den Benutzer optional nach Überprüfung seiner E-Mail-Adresse auf eine bestimmte Seite weiter.
  8. optional wird eine Benutzermeldung angezeigt, die eine erfolgreiche Anmeldung anzeigt.
  9. optional können Sie sowohl das Anmelde- als auch das Registrierungsformular auf einer Seite kombinieren.
  10. 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!).
  11. integriert sich in das Regelmodul, um verschiedene Aufgaben auszuführen, wenn ein Benutzer über einen E-Mail-Validierungsprozess validiert (siehe http://drupal.org/node/880904 für ein Beispiel).

Das Einstellungskonfigurationsformular verfügt über eine Option namens Anmeldeformular bei Zugriff verweigert (403) , mit der genau diese Funktionalität ein- und ausgeschaltet werden kann.

4
Shawn Conn

Option 1: Verwenden Sie das CustomError-Modul

Mit dem Modul CustomError kann der Site-Administrator benutzerdefinierte Fehlerseiten für die HTTP-Statuscodes 403 (Zugriff verweigert) und 404 (nicht gefunden) 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 über " Benutzer interessieren, 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.".

Option 2: Mit dem Modul Regeln zum Benutzer/Anmelden umleiten

"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 zu " Wie werden anonyme Benutzer mithilfe des Regelmoduls zur Anmeldeseite umgeleitet? " beschrieben.

Nehmen Sie dazu an, dass der Pfad der Seite "Standard 403" auf "no_access" gesetzt ist (über /admin/config/system/site-information, am Ende dieser Administrationsseite). Erstellen Sie dann eine Regel mit dem Modul Rules , mit as Event so etwas wie "Nach dem Besuch des Knotens 'no_access'". Damit die gesamte Regel ungefähr so ​​aussieht:

  • Ereignisse: Nach dem Besuch des Knotens 'no_access'
  • Bedingungen:

    1. Benutzer hat Rolle (n) - Parameter: User: [site:current-user], Roles: anonymous user
    2. NICHT Textvergleich - 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) Meldung im Drupal) anzuzeigen = Nachrichtenbereich mit etwas wie "Sie haben versucht, eine Seite zu besuchen, für die ein Login erforderlich ist ...".

Möglicherweise müssen Sie ein zusätzliches Modul ( Rules ) aktivieren. Aber wie auch seine wachsende Beliebtheit zeigt, ist dieses Modul wahrscheinlich bereits auf fast jeder Site aktiviert (ähnlich dem Modul Views ), da es Dutzende von Anwendungsfällen für dieses Modul gibt. Nur eine Variante dieser Frage: Wie wäre es, die Benutzererfahrung für "Seite nicht gefunden" auf ähnliche Weise zu verbessern?

Option 3: Benutzeranmeldeblock auf dedizierter Seite anzeigen

Eine andere Variante als Alternative zu den Regeln "Aktion" (umleiten zu user/login) soll einen bestimmten Knoten erstellen, beispielsweise mit einem Pfad wie "my_login_page_with_login_block". Kombinieren Sie dies dann mit der Konfiguration des Blocks "Benutzeranmeldung" (über admin/structure/block) wie so:

  • Zeigen Sie diesen Block in einem beliebigen Themenbereich Ihrer Wahl an.
  • Verwenden Sie den Link "configure" rechts neben diesem Benutzeranmeldeblock, um die " Sichtbarkeitseinstellungen" für " Seiten" festzulegen. Das heißt, Ändern Sie die Option für " Block auf bestimmten Seiten anzeigen" in " Nur die aufgelisteten Seiten" und geben Sie den Pfad an (my_login_page_with_login_block) im Textfeld darunter. Wenn Sie aus irgendeinem Grund keinen Pfad verwenden möchten, geben Sie stattdessen einfach node/nid (nid = id des Knotens) als Pfad an.
10
Pierre.Vriens

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.

5
Andrew

Ohne das Modul LoginToboggan 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:

  1. Setzen Sie auf der Registerkarte "Seiten" "Block auf bestimmten Seiten anzeigen" auf "Nur die aufgelisteten Seiten" und geben Sie die Seiten ein.

  2. Aktivieren Sie auf der Registerkarte "Rollen" die Option "Anonymer Benutzer" für den Block Anzeigen für bestimmte Rollen.

3
MikeSNP

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?

2
Connor Gurney