Estou tentando adicionar um formulário de login à página de acesso negado e me pergunto se isso é possível através da interface do usuário.
Alguma sugestão / idéia?
Estou tentando adicionar um formulário de login à página de acesso negado e me pergunto se isso é possível através da interface do usuário.
Alguma sugestão / idéia?
Respostas:
Outra solução aqui é o módulo LoginToboggan . Ele fornece vários aprimoramentos diferentes para a funcionalidade de login.
O módulo logintoboggan oferece várias modificações do sistema de login drupal em um módulo externo, oferecendo os seguintes recursos e aprimoramentos de usabilidade:
- permita que os usuários efetuem login usando seu nome de usuário ou endereço de email.
- permitir que os usuários efetuem login imediatamente.
- forneça um formulário de login nas páginas de acesso negado para usuários não conectados (anônimos).
- o módulo fornece duas opções de bloqueio de login: um usa javascript para exibir o formulário dentro do bloco imediatamente após clicar em "logon". o outro leva o usuário a uma página separada, mas retorna o usuário à sua página original após o login.
- personalize o formulário de registro com dois campos de email para garantir a precisão.
- opcionalmente, redirecione o usuário para uma página específica ao usar o recurso 'login imediato'.
- opcionalmente, redirecione o usuário para uma página específica após a validação do endereço de email.
- opcionalmente, exibir uma mensagem do usuário indicando um login bem-sucedido.
- opcionalmente, combine o formulário de login e registro em uma página.
- opcionalmente, usuários não validados foram removidos do sistema em um intervalo predefinido (leia a seção de advertências em install.txt para obter informações importantes sobre como configurar esse recurso!).
- integra-se ao módulo de regras para executar várias tarefas quando um usuário valida via processo de validação de email (consulte http://drupal.org/node/880904 para obter um exemplo)
O formulário de configuração tem uma opção chamada Apresentar formulário de login no acesso negado (403) que ativa / desativa esta funcionalidade exata.
O módulo CustomError permite que o administrador do site crie páginas de erro personalizadas para os códigos de status HTTP 403 (acesso negado) e 404 (não encontrado), sem a necessidade de criar nós para cada um deles. Mais alguns detalhes sobre seus recursos (na página do projeto):
- Título da página e descrições configuráveis.
- Não há cabeçalhos de autor e data / hora, como nos nós normais.
- Qualquer texto formatado em HTML pode ser inserido no corpo da página.
- As páginas de erro são permitidas.
- Os usuários que não estão conectados e tentam acessar uma área que requer login serão redirecionados para a página que estavam tentando acessar após o login.
- Permite redirecionamentos personalizados para 404s.
Você deve estar interessado na parte sobre " Os usuários que não estão conectados e tentam acessar uma área que requer login será redirecionada para a página que eles estavam tentando acessar após o login ".
"Adicionar configurações para a 'página de acesso negado' e exibir o bloco 'Login de usuário' nessa página" é realmente uma solução que deve funcionar. No entanto, você pode dar um passo adiante e aprimorar a experiência do usuário AbitMORE. Usando uma variação da abordagem descrita na resposta à pergunta sobre " Como redirecionar usuários anônimos para a página de login usando o módulo Regras? ".
Para fazer isso, suponha que o caminho da página "Padrão 403" esteja definido como "no_access" (via /admin/config/system/site-information, na parte inferior da página de administração). Em seguida, crie uma regra usando o módulo Rules , com como Event algo como "Depois de visitar o nó 'no_access'". Para que toda a regra fique assim:
Condições:
Parameter: User: [site:current-user], Roles: anonymous userParameter: Text: [site:current-page:url], Matching text: user/loginAções: redirecionamento de página -Parameter: URL: user/login
Caso deseje fazer isso, você pode até adicionar outra Ação para também exibir alguma mensagem (informativa) na área de mensagens do Drupal, com algo como "Você tentou visitar uma página para a qual o login é necessário ...".
É verdade que pode ser necessário ativar um módulo contribuído extra ( Regras ). Mas, como indicado por sua crescente popularidade também, esse módulo provavelmente já está ativado em praticamente qualquer site (semelhante ao módulo Views ), porque existem dezenas de casos de uso para este módulo. Apenas uma variação desta pergunta: que tal aprimorar a experiência do usuário para "Página não encontrada" de maneira semelhante?
Outra variação, como alternativa às Regras "Ação" (para redirecionar user/login), é criar um nó designado, digamos com um caminho como "my_login_page_with_login_block". E então combine isso com a configuração do bloco "Login de usuário" (via admin/structure/block) da seguinte forma:
configurelink " " à direita do bloco de login do usuário, para definir as " Configurações de visibilidade " para " Páginas ". Ou seja, altere a opção " Mostrar bloco em páginas específicas " para " Somente as páginas listadas " e especifique o caminho ( my_login_page_with_login_block) na caixa de texto abaixo. Se, por algum motivo, você não quiser usar um caminho, especifique node / nid (nid = id do nó) como o caminho.Sem o módulo LoginToboggan , é possível configurar o bloco de login do usuário para ficar visível nas páginas designadas e restrito a usuários anônimos. No bloco Configurações de visibilidade para o bloco de login do usuário:
Na guia "páginas", defina "Mostrar bloco em páginas específicas" como "Somente as páginas listadas" e insira as páginas.
Na guia "Funções", verifique "usuário anônimo" no bloco Mostrar para definir configurações de funções específicas.
Em teoria, você pode definir a página Padrão 403 (acesso negado) em Informações do site para usuário / login em / admin / config / system / site-information.
Nunca tentei, mas é apenas uma ideia?