¿Cómo restringir el acceso a nodos en función de los roles de usuario? [cerrado]

8

¿Cómo puedo permitir que solo se muestren nodos específicos según los roles de los usuarios?

Básicamente, no quiero permitir que los usuarios de alguna función específica accedan a los nodos.

harshal
fuente
3
No estoy seguro de por qué cerraron su pregunta, es una buena pregunta. Y para cualquier persona que pueda estar interesada, siempre resuelvo este tipo de problemas haciendo un módulo personalizado y anulando api.drupal.org/api/drupal/modules%21node%21node.api.php/… ... control total, no gastos generales en forma de módulos masivos, mucho más fácil y más confiable.
coderama
1
@coderama Es un poco amplio, sin que el OP muestre lo que intentaron hasta ahora. Estas preguntas obtienen respuestas amplias que probablemente no ayudarán a los futuros usuarios.
kiamlaluno

Respuestas:

3

¿Has probado el módulo de acceso al contenido?

Este módulo le permite administrar permisos para tipos de contenido por rol y autor. Le permite especificar vistas personalizadas, editar y eliminar permisos para cada tipo de contenido. Opcionalmente, puede habilitar la configuración de acceso al contenido, por lo que puede personalizar el acceso para cada nodo de contenido.

4life
fuente
1
Si no necesita permisos basados ​​en nodos, entonces un módulo más simple es el módulo de permisos de vista de nodo que controla el acceso basado únicamente en el tipo de contenido y el rol del usuario.
jevon
1
Este módulo es beta para Drupal 7
Toby Allen
16

De lo que estás hablando es del control de acceso al nodo Drupal, que es un tema enorme.

El soporte integrado del núcleo para el control de acceso a nodos es bastante tosco, y para controlar el acceso para ver un nodo por rol, debe usar algún tipo de módulo de control de acceso a nodos.

Hay una página en Drupal.org que enumera todos los módulos de acceso a nodos , con una revisión cápsula de cada uno. Le sugiero que eche un vistazo a esa página para ver si puede encontrar un módulo adecuado para controlar el acceso en función de los roles.

Cuando se trabaja con control de acceso, ayuda a comprender cómo funcionan realmente los módulos de control de acceso de Drupal, aquí hay una descripción rápida:

  1. Los usuarios con permiso para administrar nodos nunca están restringidos por el control de acceso a los nodos. Los usuarios que no tienen permiso para Ver contenido publicado nunca pueden obtener acceso mediante un módulo de acceso de nodo. Solo los usuarios que tienen 'contenido de acceso' y no 'nodos de administración' son elegibles para el mundo salvaje del control del módulo de acceso a nodos.

  2. El control de acceso a los nodos en Drupal es, como regla, aditivo . Esto significa que cualquier módulo que realice el control de acceso de acuerdo con la "filosofía de Drupal" solo debe permitir el acceso, no negarlo. Un administrador que quiera ajustar el acceso a un nodo primero debe asegurarse de que nadie tenga acceso y luego agregar permisos de acceso a cualquiera que tenga acceso.

Esto significa que puede ser bastante engorroso restringir el acceso a las personas con un módulo como Content Access , ya que debe comenzar denegando el acceso a todos y luego agregarlo nuevamente a los nodos que no desea restringir. Sin embargo, creo que es la mejor opción si realmente necesita hacerlo nodo por nodo. Su resolución principal son los tipos de contenido, pero le permite anular esto para nodos individuales.

Desafortunadamente, no podrá usar el acceso denegado ya que solo funciona en tipos de contenido, sin anulación para nodos individuales.

Nota: no se recomienda utilizar más de un módulo de acceso de nodo .

Tenga en cuenta que si puede cambiar sus requisitos para poder usar el tipo de contenido como su unidad básica para el control de acceso a los nodos, entonces Denegar el acceso sería ideal. Por ejemplo, si tiene un rol de "estudiante" y desea denegar el acceso a los nodos con respuestas, puede crear un tipo de contenido "Respuesta" (que puede ser un clon del "Artículo" predeterminado) y Denegar acceso tenga cuidado de proteger todos los nodos del tipo "Respuesta" para que no sean vistos por el rol "estudiante".

Radicales libres
fuente
1
Básicamente, no quiero permitir que los usuarios accedan a los nodos de alguna función específica. ¿Es esto demasiado difícil de implementar?
harshal