Eu tenho um usuário com direitos de exibição e edição para um tipo de conteúdo específico. Isso concede o privilégio a todos os usuários de visualizar e editar todos os nós desse tipo. Mas, na verdade, quero criar para cada usuário um nó exclusivo, para que somente esse usuário possa visualizá-lo e editá-lo. Como posso fazer isso no Drupal 7?
10
Respostas:
Usando um módulo existente, você pode fazer isso com o Content Access , que (quando usado em conjunto com a ACL ) permite definir as permissões para acessar um nó para cada usuário.
Isso significa que você precisa definir as permissões de acesso manualmente para cada nó.
Se você criar manualmente os nós e desejar garantir que apenas o usuário definido como proprietário do nó possa visualizá-lo (e editá-lo), poderá criar um módulo personalizado (o que significa um módulo que é usado no seu site) e implemente da
hook_node_access()
seguinte maneira (o código foi escrito para facilitar a leitura):Usando esta implementação de gancho, você não precisa editar manualmente as permissões de acesso fornecidas para cada nó desse tipo de conteúdo que você criar. Alterar o proprietário do nó também seria mais fácil, pois você não precisa alterar as permissões de acesso desse nó; o código concederia automaticamente a atualização e exibia permissões para o usuário definido como proprietário (ou autor) do nó.
fonte
Você não precisa de nenhum módulo especial ou código personalizado para fazer isso. Apenas crie manualmente esses nós, defina os usuários apropriados como proprietário (autor) dos nós e defina permissões para este tipo de conteúdo para editar apenas o próprio conteúdo (não editar nenhum conteúdo desse tipo) e pronto.
fonte
O que você está falando é sobre o controle de acesso ao nó Drupal, que é um assunto enorme.
O suporte interno do núcleo para controle de acesso ao nó é bastante claro e, para controlar o acesso para visualizar um nó por função, você deve usar algum tipo de módulo de controle de acesso ao nó. Há uma página no Drupal.org listando todos os módulos de acesso ao nó , com uma análise de cápsula de cada um. Sugiro que você dê uma olhada nessa página para ver se encontra um módulo adequado para controlar o acesso.
O módulo Flexi Access parece ser o módulo que mais se aproxima dos seus requisitos, pois sua principal função é permitir que você controle o acesso de usuários individuais, e não por função ou termo de taxonomia.
É um pequeno módulo que permite configurar ACLs (listas de controle de acesso) para usuários individuais. É basicamente uma interface de usuário para o módulo ACL , então você precisa instalá-lo também.
Ele não possui alguns dos recursos dos módulos de controle de acesso mais avançados, como o Content Access , mas é mantido ativamente e atualmente não há bugs abertos na fila de problemas.
Divulgação: Eu sou o mantenedor do Flexi Access.
fonte