Come aggiungere il modulo di accesso alla pagina Accesso negato?


7

Sto cercando di aggiungere un modulo di accesso alla pagina di accesso negato e mi chiedo se ciò sia possibile tramite l'interfaccia utente.

Qualche suggerimento / idea?


1
Posiziona il blocco di accesso sul callback della pagina 404 e usa questo modulo drupal.org/project/blocks404 o usa questo modulo se usi Drupal 7 drupal.org/project/navigation404
Rupesh

Questo è per l'errore "pagina non trovata", non per quello "accesso negato".
kiamlaluno

Risposte:


4

Un'altra soluzione qui è il modulo LoginToboggan . Fornisce una serie di diversi miglioramenti alla funzionalità di accesso.

Il modulo logintoboggan offre diverse modifiche al sistema di login drupal in un modulo esterno offrendo le seguenti funzionalità e miglioramenti di usabilità:

  1. consentire agli utenti di accedere utilizzando il loro nome utente o il loro indirizzo e-mail.
  2. consentire agli utenti di accedere immediatamente.
  3. fornire un modulo di accesso su pagine di accesso negato per utenti non anonimi (anonimi).
  4. il modulo fornisce due opzioni di blocco di accesso: uno utilizza javascript per visualizzare il modulo all'interno del blocco immediatamente dopo aver fatto clic su "accedi". l'altro porta l'utente in una pagina separata, ma riporta l'utente alla sua pagina originale al momento dell'accesso.
  5. personalizzare il modulo di registrazione con due campi e-mail per garantire l'accuratezza.
  6. facoltativamente reindirizzare l'utente a una pagina specifica quando si utilizza la funzione "accesso immediato".
  7. facoltativamente reindirizzare l'utente a una pagina specifica dopo la convalida del proprio indirizzo e-mail.
  8. opzionalmente visualizzare un messaggio utente che indica un accesso riuscito.
  9. combinare facoltativamente sia il modulo di accesso che il modulo di registrazione su una pagina.
  10. facoltativamente, gli utenti non convalidati vengono eliminati dal sistema a un intervallo predefinito (leggere la sezione Avvertenze di install.txt per informazioni importanti sulla configurazione di questa funzione!).
  11. si integra con il modulo delle regole per eseguire varie attività quando un utente convalida tramite il processo di convalida dell'email (vedere http://drupal.org/node/880904 per un esempio)

Il modulo di configurazione delle impostazioni ha un'opzione chiamata Present login form on access denied (403) che attiva / disattiva questa esatta funzionalità.


Il modulo LoginToboggan ha funzionato come se un incantesimo dovesse includere la pagina 403 ma era super, grazie.
jelly46,

10

Opzione 1: utilizzare il modulo CustomError

Il modulo CustomError consente all'amministratore del sito di creare pagine di errore personalizzate per i codici di stato HTTP 403 (accesso negato) e 404 (non trovato), senza la necessità di creare nodi per ciascuno di essi. Qualche dettaglio in più sulle sue caratteristiche (dalla sua pagina del progetto):

  • Titolo e descrizioni della pagina configurabili.
  • Non ci sono intestazioni di autore e data / ora come nei nodi normali.
  • Qualsiasi testo in formato HTML può essere inserito nel corpo della pagina.
  • Le pagine di errore sono tematiche.
  • Gli utenti che non hanno effettuato l'accesso e tentano di accedere a un'area che richiede l'accesso verranno reindirizzati alla pagina a cui stavano tentando di accedere dopo aver effettuato l'accesso.
  • Consente reindirizzamenti personalizzati per 404 secondi.

Si dovrebbe essere interessati alla parte relativa a " Gli utenti che non hanno effettuato l'accesso e tentano di accedere a un'area che richiede l'accesso verranno reindirizzati alla pagina a cui stavano tentando di accedere dopo aver effettuato l'accesso. ".

Opzione 2: reindirizzare a utente / login utilizzando il modulo Regole

"L'aggiunta di impostazioni per la" pagina di accesso negato "e la visualizzazione del blocco" Accesso utente "su quella pagina" è davvero una soluzione che dovrebbe funzionare. Tuttavia, potresti fare un ulteriore passo avanti e migliorare l'esperienza utente AbitMORE. Utilizzando una variante dell'approccio descritto nella risposta alla domanda " Come reindirizzare gli utenti anonimi alla pagina di accesso utilizzando il modulo Regole? ".

Per fare ciò, supponi che il percorso della pagina "Default 403" sia impostato su "no_access" (tramite /admin/config/system/site-information, vicino alla parte inferiore della pagina di amministrazione). Quindi crea una regola usando il modulo Regole , con Event come qualcosa del tipo "Dopo aver visitato il nodo 'no_access'". In modo che l'intera regola sia simile a questa:

  • Eventi: dopo aver visitato il nodo 'no_access'
  • condizioni:

    1. L'utente ha un ruolo (i) -Parameter: User: [site:current-user], Roles: anonymous user
    2. NOT Confronto del testo -Parameter: Text: [site:current-page:url], Matching text: user/login
  • Azioni: reindirizzamento della pagina -Parameter: URL: user/login

Se vuoi farlo, potresti anche aggiungere un'altra Azione per visualizzare anche un messaggio (informativo) nell'area dei messaggi Drupal, con qualcosa come "Hai provato a visitare una pagina per la quale è richiesto il login ...".

È vero, potrebbe essere necessario abilitare un modulo aggiuntivo fornito ( Regole ). Ma, come indicato anche dalla sua crescente popolarità, quel modulo è probabilmente già abilitato in quasi tutti i siti (simile al modulo Views ), perché ci sono dozzine di casi d'uso per questo modulo. Solo 1 variante di questa domanda: che ne dici di migliorare l'esperienza utente per "Pagina non trovata" in modo simile?

Opzione 3: mostra il blocco di accesso dell'utente sulla pagina dedicata

Un'altra variante, in alternativa alle Regole "Azione" (per reindirizzare a user/login), è quella di creare un nodo designato, ad esempio con un percorso come "my_login_page_with_login_block". E quindi combinalo con la configurazione del blocco "Accesso utente" (via admin/structure/block) in questo modo:

  • Mostra quel blocco in qualsiasi area tematica di tua scelta.
  • Utilizzare il configurecollegamento " " a destra del blocco di accesso utente per impostare le " Impostazioni di visibilità " per " Pagine ". Vale a dire modificare l'opzione " Mostra blocco su pagine specifiche " su " Solo le pagine elencate " e specificare il percorso ( my_login_page_with_login_block) all'interno della casella di testo sottostante. Se per qualche motivo non vuoi usare un percorso, specifica invece node / nid (nid = id del nodo) come percorso.

Ciao Pierre, questo è di grande aiuto, lo proverò e ti farò sapere come vado avanti. Grazie
jelly46

1
Grazie per il feedback ... Spero che non dimenticherai un giorno di "tornare" con il tuo feedback al riguardo (dopo averlo provato). Peccato che non esista "ricordamelo più tardi" (per tornare su di esso), ad esempio implementato usando qualcosa come "Regole Scheduler" e / o "Flag" (come faremmo in Drupal, giusto?). .. Nota a me stesso: aggiungi tale funzionalità nella distribuzione "ArrayShift" ...
Pierre.Vriens,

Bene, ha ampliato le mie conoscenze ma non ha ancora risposto alla domanda, è di grande aiuto ma non ha ancora raggiunto la terra promessa.
jelly46,

Il modulo LoginToboggan ha funzionato come un incantesimo
jelly46

1
Ovviamente nessun problema, consideriamolo come la flessibilità e le opzioni di Drupal per scegliere ciò che è giusto per tutti individualmente!
Pierre.Vriens,

5

È possibile aggiungere le impostazioni per "Pagina 403 predefinita (accesso negato)" nella configurazione del sito (admin / config / system / site-information). E quindi visualizzare il blocco "Accesso utente" (admin / struttura / blocco / gestisci / utente / accesso / configura) in questa pagina.


3

Senza il modulo LoginToboggan è possibile configurare il blocco di accesso utente in modo che sia visibile nelle pagine designate e limitato agli utenti anonimi. Nel blocco Impostazioni di visibilità per il blocco Accesso utente:

  1. Nella scheda "Pagine", imposta "Mostra blocco su pagine specifiche" su "Solo le pagine elencate" e inserisci le pagine.

  2. Nella scheda "Ruoli", seleziona "Utente anonimo" per l'impostazione Mostra blocco per ruoli specifici.


2

In teoria, è possibile impostare la pagina 403 predefinita (accesso negato) in Informazioni sul sito su utente / login su / admin / config / system / site-information.

Non l'hai mai provato ma è solo un'idea?


1
Cattiva idea. Gli utenti connessi che ottengono l'accesso negato finiscono in un ciclo di reindirizzamento infinito che causa l'arresto anomalo del browser.
Giles B,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.