Existe uma maneira de evitar que usuários anônimos possam ver nós de um tipo de conteúdo, como um bloco ou uma exibição?
Posso controlar o acesso com uma visualização, mas se eu souber o link para um nó, posso vê-lo sem primeiro fazer login.
Você pode controlar o acesso aos nós no gancho hook_node_access ():
mymodule.module:
use Drupal\node\NodeInterface;
use Drupal\Core\Session\AccountInterface;
use Drupal\Core\Access\AccessResult;
function mymodule_node_access(NodeInterface $node, $op, AccountInterface $account) {
if ($account->isAnonymous() && $node->gettype() == 'article') {
return AccessResult::forbidden()->cachePerPermissions();
}
return AccessResult::neutral()->cachePerPermissions();
}
Isso controla o acesso direto ao nó, não o acesso nas visualizações. Mas é isso que você provavelmente quer.
Sua melhor aposta é usar o Rabbit Hole , ou o Content Access, quando houver uma versão atualizada.
Toca do Coelho
Acesso ao conteúdo
Observe que o que eu acredito que você deseja é bloquear todo o acesso a um nó de um tipo de conteúdo - e apenas o Acesso ao Conteúdo cumprirá isso no Rabbit Hole.
Além disso, acho que você gostaria de implementar seu próprio controle de acesso, se nenhum deles servir.
fonte
Talvez você queira tentar usar o módulo Grupo , que permite criar coleções arbitrárias de seu conteúdo e usuários em seu site e conceder permissões de controle de acesso nessas coleções. Está disponível a partir do D7 e também possui uma versão D8. Ele cria grupos como entidades, tornando-os totalmente em campo, extensíveis e exportáveis. Cada grupo pode ter usuários, funções e permissões anexadas a ele (consulte " Quais são as várias funções suportadas pelo módulo Grupo? " Para obter mais detalhes sobre isso).
Para essa pergunta específica, você
gnode
ativaria o submódulo e, para cada tipo de grupo, definiria as permissões apropriadas (exibir, editar, excluir etc.) para os vários tipos de conteúdo.Parece que você deseja conceder acesso ao que, em Grupo, é chamado de "Membros" e "Pessoas de fora" (= usuários conectados que não são membros de um grupo). Mas você não permitirá o acesso a "Anônimo" (visitantes do site que não estão registrados).
Recursos
fonte
Você pode usar o módulo Permissões de Visualização de Nó .
Habilite-o e, em seguida, você pode atribuir quais funções podem exibir quais tipos de conteúdo no caminho 'admin / people / Permissions' na seção 'Permissões de visualização do nó'
fonte