Preciso de ajuda e aqui está o problema:
Estou construindo um site usando o Drupal 7.
Eu preciso tornar certas páginas visíveis apenas para usuários logados (cada um com seu próprio nome de usuário / senha); outros usuários devem ser simplesmente redirecionados ou receber uma mensagem de erro. Essa funcionalidade pode estar incluída no próprio Drupal 7 ou existe um módulo que faz isso (algo mais simples que os Grupos Orgânicos)?
Se você deseja fazer isso programaticamente em um módulo ou nó (com filtro de entrada PHP), você pode usar user_is_logged_in () para algo como isto:
fonte
Embora o módulo Content Access resolva bem o problema, é um módulo extra e ainda não é estável no D7.
Uma alternativa usando apenas módulos comumente usados é:
Crie os nós, mas defina-os como não publicados
Crie uma visualização de nó, por exemplo, "conteúdo com restrição de função". Mostre o conteúdo do nó completo para replicar a exibição do nó padrão /%.
Restrinja a visualização às funções desejadas (por exemplo, "Função | Usuário autenticado")
Defina o caminho da visualização para algo como:
Defina um filtro contextual por Nid.
Remova o filtro "conteúdo publicado" padrão.
Agora você terá uma exibição que funciona exatamente como o nó /%, exceto que também lida com conteúdo não publicado e restringe por função.
fonte
Existe uma solução programática bastante simples, você pode ler a função do usuário (e também se for anônima ou registrada) assim:
você obterá uma matriz com funções do usuário atual em $ functions.
Você pode redirecionar esse usuário dependendo da função com alguma lógica usando
fonte