Como restringir o acesso ao nó com base nas funções do usuário? [fechadas]

8

Como posso permitir que apenas nós específicos sejam exibidos com base nas funções do usuário?

Basicamente, não quero permitir que nós sejam acessados ​​por usuários de alguma função específica.

harshal
fonte
3
Não sei por que eles fecharam sua pergunta, é uma boa pergunta. E para quem estiver interessado, eu sempre resolvo esses tipos de problemas criando um módulo personalizado e substituindo api.drupal.org/api/drupal/modules%21node%21node.api.php/… ... controle total, não despesas gerais na forma de módulos maciços, muito mais fáceis e mais confiáveis.
Coderama
11
@coderama É um pouco amplo, sem que o OP mostre o que eles tentaram até agora. Tais perguntas obtêm respostas amplas que provavelmente não ajudarão os usuários futuros.
kiamlaluno

Respostas:

3

Você já experimentou o módulo de acesso a conteúdo

Este módulo permite gerenciar permissões para tipos de conteúdo por função e autor. Ele permite que você especifique a visualização personalizada, edite e exclua permissões para cada tipo de conteúdo. Opcionalmente, você pode ativar as configurações de acesso por conteúdo, para personalizar o acesso para cada nó de conteúdo.

4life
fonte
11
Se você não precisar de permissões baseadas em nó, um módulo mais simples é o módulo de permissões de exibição de nó que controla o acesso com base apenas no tipo de conteúdo e na função do usuário.
Jevon 31/10
11
Este módulo é beta para o Drupal 7
Toby Allen
16

O que você está falando é sobre o controle de acesso ao nó Drupal, que é um assunto enorme.

O suporte interno do núcleo para o controle de acesso ao nó é bastante grosseiro e, para controlar o acesso para exibir 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 com base nas funções.

Ao trabalhar com controle de acesso, ajuda a entender como os módulos de controle de acesso Drupal realmente funcionam; eis uma descrição rápida:

  1. Os usuários com permissão para administrar nós nunca são restritos pelo controle de acesso ao nó. Os usuários que não têm permissão para exibir o conteúdo publicado nunca podem receber acesso por um módulo de acesso ao nó. Somente usuários que possuem 'conteúdo de acesso' e não 'administram nós' são elegíveis para o mundo selvagem do controle do módulo de acesso ao nó.

  2. O controle de acesso ao nó no Drupal é, geralmente, um aditivo . Isso significa que qualquer módulo que controle de acesso de acordo com a "filosofia Drupal" deve permitir apenas o acesso, e não negá-lo. Um administrador que deseja ajustar o acesso a um nó deve primeiro garantir que ninguém tenha acesso e, em seguida, adicionar concessões de acesso a qualquer pessoa que tenha acesso.

Isso significa que pode ser um pouco complicado restringir o acesso a indivíduos com um módulo como o Content Access , pois você deve começar negando o acesso de todos e, em seguida, adicioná-lo novamente aos nós que não deseja restringir. No entanto, acho que é a melhor opção se você realmente precisar fazê-lo nó por nó. Sua resolução principal são os tipos de conteúdo, mas permite substituí-lo por nós únicos.

Infelizmente, você não poderá usar Negar acesso, pois ele funciona apenas em tipos de conteúdo, sem substituição de nós individuais.

Nota: Não é recomendado o uso de mais de um módulo de acesso ao nó .

Observe que se você pode alterar seus requisitos para poder usar o tipo de conteúdo como sua unidade básica para controle de acesso ao nó, Negar acesso seria o ideal. Por exemplo, se você tem uma função "aluno" e deseja negar acesso a nós com respostas, pode criar um tipo de conteúdo "Resposta" (que pode ser apenas um clone do "Artigo" padrão)) e Negar acesso cuide para proteger todos os nós do tipo "Resposta" de serem visualizados pela função "aluno".

Radical livre
fonte
11
basicamente, eu não quero permitir que nós sejam acessados ​​por usuários de alguma função específica, isso é muito difícil de implementar?
harshal