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?
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?
Risposte:
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à:
- consentire agli utenti di accedere utilizzando il loro nome utente o il loro indirizzo e-mail.
- consentire agli utenti di accedere immediatamente.
- fornire un modulo di accesso su pagine di accesso negato per utenti non anonimi (anonimi).
- 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.
- personalizzare il modulo di registrazione con due campi e-mail per garantire l'accuratezza.
- facoltativamente reindirizzare l'utente a una pagina specifica quando si utilizza la funzione "accesso immediato".
- facoltativamente reindirizzare l'utente a una pagina specifica dopo la convalida del proprio indirizzo e-mail.
- opzionalmente visualizzare un messaggio utente che indica un accesso riuscito.
- combinare facoltativamente sia il modulo di accesso che il modulo di registrazione su una pagina.
- 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!).
- 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 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. ".
"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:
condizioni:
Parameter: User: [site:current-user], Roles: anonymous user
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?
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:
configure
collegamento " " 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.È 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.
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:
Nella scheda "Pagine", imposta "Mostra blocco su pagine specifiche" su "Solo le pagine elencate" e inserisci le pagine.
Nella scheda "Ruoli", seleziona "Utente anonimo" per l'impostazione Mostra blocco per ruoli specifici.
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?