17.- ACL Tutorial para Joomla 3.x

LCA separada para ver y hacer

El sistema Joomla ACL puede considerarse dividido en dos sistemas completamente separados. Un sistema controla qué cosas en el sitio pueden ver los usuarios El otro controla qué cosas pueden hacer los usuarios (qué acciones puede tomar un usuario). La ACL para cada uno se configura de manera diferente.

Controlar lo que los usuarios pueden ver

La configuración para controlar lo que los usuarios pueden ver se realiza de la siguiente manera:

  • Cree un conjunto de niveles de acceso de acuerdo con las categorías y / o la combinación de categorías que desea que solo vean los usuarios registrados. NB no asigne ningún grupo de usuarios a los nuevos niveles de acceso en este momento.
  • Cree un Grupo de usuarios, con 'Registrado' como padre, para cada Nivel de acceso. El uso de los mismos nombres para los Grupos de usuarios que los Niveles de acceso evitará la confusión posterior.
  • Edite sus nuevos niveles de acceso y asigne el grupo de usuarios (nuevo) correcto a cada uno. También es posible que desee asignar el Supergrupo de usuarios (y / u otros Grupos de usuarios predeterminados, pero no el Grupo de usuarios 'Invitado') a todos sus nuevos Niveles de acceso
  • Asigne cada elemento para ser visto a un nivel de acceso. Los elementos incluyen elementos de contenido (artículos, contactos, etc.), elementos de menú y módulos.

Cada vez que un usuario está a punto de ver un elemento en una página de Joomla, el programa verifica si el usuario tiene acceso al elemento, de la siguiente manera:

  1. Crea una lista de todos los niveles de acceso a los que tiene acceso el usuario, en función de todos los grupos a los que pertenece. Además, si un grupo tiene un grupo primario, los niveles de acceso para el grupo primario también se incluyen en la lista.
  2. Comprueba si el Nivel de acceso para el elemento (artículo, módulo, elemento de menú, etc.) está en esa lista. En caso afirmativo, el elemento se muestra al usuario. Si no, entonces el elemento no se muestra.

Tenga en cuenta que los niveles de acceso se establecen por separado para cada grupo y no se heredan del grupo principal de un grupo.

Controlar lo que los usuarios pueden hacer

El sistema para configurar lo que pueden hacer los usuarios en un Grupo de usuarios, qué acciones pueden tomar en un elemento determinado, se configura con la pestaña Permisos de Configuración global y la pestaña Permisos de la pantalla Opciones de cada componente. Los permisos también se pueden configurar en el nivel de Categoría para componentes principales y en el nivel de Artículo para artículos.

  • Si desea que los usuarios registrados creen, eliminen, editen estados o editen propios para categorías específicas, entonces:
    • Cree un grupo de usuarios con el padre como uno de sus grupos de usuarios que tenga acceso a la categoría (o categorías) que desea que este nuevo grupo de usuarios modifique.
    • Asigne su nuevo grupo de usuarios a los niveles de acceso apropiados. Luego cambie los permisos requeridos para su nuevo Grupo de usuarios, ya sea Globalmente o por Categoría / Artículo.
      • Al crear un grupo de usuarios, es una buena práctica seleccionar un grupo principal que tenga menos permisos de los necesarios para el nuevo grupo. Esto se debe a que es más fácil elevar los permisos por Componente / Categoría / Artículo para los que se necesitan permisos adicionales que eliminar los permisos de los otros Componentes / Categorías / Artículos.
        • (ejemplo: tiene 10 categorías pero desea crear permisos para solo 1. Si configura los permisos globales para Permitir crear para ese grupo, deberá eliminar el permiso Crear para todas esas categorías. Y deberá eliminar el permiso Crear para grupo con cualquier categoría nueva que agregue en una fecha posterior).
    • Solo cree un Grupo de usuarios con uno de los Grupos de usuarios predeterminados como padre si ninguno de ellos tiene los permisos exactos que necesita y desea todas las Categorías

Tenga en cuenta que esta configuración es independiente de la configuración para la visualización, pero se debe asignar un grupo de usuarios a los niveles de acceso adecuados para que el usuario de ese grupo pueda usar esos permisos.

Cuando un usuario desea iniciar una acción específica contra un elemento componente (por ejemplo, editar un artículo), el sistema (después de verificar que el Grupo en el que el usuario tiene acceso) verifica el permiso para esta combinación de usuario, elemento y acción. Si está permitido, el usuario puede continuar. De lo contrario, la acción no está permitida.

El resto de este tutorial analiza cómo controlamos lo que los usuarios pueden hacer, qué permisos de acción tienen.

Acciones, grupos y herencia

El otro lado de ACL está otorgando permisos a los usuarios para realizar acciones en los objetos.

 3.x series
Grupos y acciones Las acciones permitidas para cada grupo están definidas por el administrador del sitio.
Alcance del permiso Los permisos se pueden establecer en múltiples niveles en la jerarquía: Sitio, Componente, Categoría, Objeto.
Herencia de permisos Los permisos se pueden heredar de Grupos principales y Categorías principales

Cómo funcionan los permisos

Hay cuatro permisos posibles para acciones, como se describe a continuación:

  • No establecido : el valor predeterminado es "denegar" pero, a diferencia del permiso Denegar, este permiso puede anularse configurando un grupo secundario o un nivel inferior en la jerarquía de permisos en "Permitir". Este permiso solo se aplica a los permisos de Configuración global.
  • Heredar : Hereda el valor de un Grupo principal o de un nivel superior en la jerarquía de permisos. Este permiso se aplica a todos los niveles, excepto al nivel de Configuración global.
  • Denegar : niega esta acción para este nivel y grupo. IMPORTANTE: Esto también niega esta acción para todos los grupos secundarios y todos los niveles inferiores en la jerarquía de permisos. Poner en Permitir para un grupo secundario o un nivel inferior no tendrá ningún efecto. La acción siempre será denegada para cualquier miembro del grupo secundario y para cualquier nivel inferior en la jerarquía de permisos.
  • Permitir : permite esta acción para este nivel y grupo y para niveles inferiores y grupos secundarios. Esto no tiene ningún efecto si un grupo o nivel superior está configurado como Denegar o Permitir. Si un grupo o nivel superior se establece en Denegar, entonces este permiso siempre será denegado. Si un grupo o nivel superior está configurado en Permitir, entonces este permiso ya estará permitido.

Niveles de jerarquía de permisos

Los permisos de acción en la versión 2.5+ se pueden definir en hasta cuatro niveles, de la siguiente manera:

  1. Configuración global : determina los permisos predeterminados para cada acción y grupo.
  2. Opciones de componente-> Permisos : puede anular los permisos predeterminados para este componente (por ejemplo, artículos, menús, usuarios, pancartas, etc.).
  3. Categoría : puede anular los permisos predeterminados para objetos en una o más categorías. Se aplica a todos los componentes con categorías, incluidos artículos, pancartas, contactos, fuentes de noticias y Weblinks.
  4. Artículo : puede anular los permisos para un artículo específico. Este nivel solo se aplica a los artículos. Otros componentes solo permiten los primeros tres niveles.

Global Configuration

Se accede a este desde Sistema → Configuración global → Permisos. Esta pantalla le permite establecer el permiso de nivel superior para cada grupo para cada acción, como se muestra en la captura de pantalla a continuación.

Screenshot global acl J3 tutorial-en.png

Las opciones para cada valor son Heredadas, Permitidas o Denegadas. La columna Configuración calculada le muestra la configuración vigente. No está permitido (el valor predeterminado), permitido o denegado.

Usted trabaja en un grupo a la vez abriendo el control deslizante para ese grupo. Cambia los permisos en los cuadros de lista desplegable Seleccionar nueva configuración.

Tenga en cuenta que la columna Configuración calculada no se actualiza hasta que presiona el botón Guardar en la barra de herramientas. Para verificar que la configuración es la que desea, presione el botón Guardar y verifique la columna Configuración calculada.

Opciones de componentes-> Permisos

Se accede a este para cada componente haciendo clic en el icono Opciones en la barra de herramientas. Esta pantalla es similar a la pantalla de Configuración global anterior. Por ejemplo, al hacer clic en el icono de la barra de herramientas Opciones en el Administrador de menús, se muestra la Configuración de menús a continuación.Screenshot menu acl J3 tutorial-en.jpg

El acceso a las Opciones solo está disponible para los miembros de grupos que tienen permiso para la acción Configurar en cada componente. En el ejemplo anterior, el grupo Administrador tiene permiso Permitido para la opción Configurar, por lo que los miembros de este grupo pueden acceder a esta pantalla.

Categoría

Se accede a los permisos de categoría en el Administrador de categorías: pantalla Editar categoría, en una pestaña en la parte superior de la pantalla. Esta pantalla tiene cinco permisos, como se muestra a continuación.

Screenshot category acl j3 tutorial-en.png

En estas pantallas, trabaja en los permisos para un Grupo de usuarios a la vez. En el ejemplo anterior, estamos editando los permisos para el grupo Administrador.

Tenga en cuenta que las acciones del componente Configurar y acceder no se aplican a nivel de categoría, por lo que esas acciones no están incluidas.

Tenga en cuenta también que las categorías se pueden organizar en una jerarquía. Si es así, los permisos de acción en una categoría principal son heredados automáticamente por una categoría secundaria. Por ejemplo, si tuviera una jerarquía de categoría de Animales → Mascotas → Perros, entonces la jerarquía de nivel de permiso completo para un artículo en la categoría Perros sería la siguiente:

  • Global Configuration
  • Administrador de artículos → Opciones → Permiso
  • Categoría de animales
  • Categoría de mascotas
  • Categoría de perros
  • articulo especifico

Artículo

Los permisos para un solo artículo son de acceso en la pantalla Administrador de artículos: Editar artículo, nuevamente en un control deslizante en la parte inferior de la pantalla. Esta pantalla tiene tres acciones, como se muestra a continuación.

J3x acl tutorial article manager article permissions-en.png

Nuevamente, edita cada grupo haciendo clic en él para abrir el control deslizante para ese grupo. Luego puede cambiar los permisos en la columna Seleccionar nueva configuración. Para ver el efecto de cualquier cambio, presione el botón Guardar para actualizar la columna Configuración calculada.

Tenga en cuenta que las acciones Configurar, Componente de acceso y Crear no se aplican a nivel de artículo, por lo que estas acciones no están incluidas. El permiso para crear un artículo se establece en uno de los niveles superiores de la jerarquía.

Niveles de acceso

Los niveles de acceso en la serie 3.x son simples y flexibles. La siguiente pantalla muestra el nivel de acceso especial.

J3x acl tutorial viewing levels-en.png

Simplemente marque la casilla para cada grupo que desee incluir en ese nivel. El Nivel de acceso especial incluye los grupos Administrador, Autor y Superusuarios. También incluye grupos secundarios de esos grupos. Por lo tanto, se incluye el grupo Administrador, ya que es un grupo secundario del grupo Administrador. Se incluyen los grupos Editor, Editor y Proveedores de la tienda, ya que son grupos secundarios de Autor. (Tenga en cuenta que podríamos verificar todos los grupos secundarios si quisiéramos y no dañaría nada).

Una vez que se crean los niveles de acceso, se usan de la misma manera que en la versión 1.5. A cada objeto en el front end se le asigna un Nivel de acceso. Si el nivel es Público, cualquiera puede acceder a ese objeto. De lo contrario, solo los miembros de grupos asignados a ese nivel de acceso pueden acceder a ese objeto. Los niveles de acceso se asignan a elementos de menú y módulos. Cada uno solo puede asignarse a un nivel de acceso.

Por ejemplo, la siguiente pantalla muestra la pantalla Editar elemento de menú con la lista de niveles de acceso disponibles.

Tutorial J3x acl nivel de elemento de menú de edición desplegable-es.png

Configuración predeterminada de ACL

Cuando Joomla! está instalado, estos se configuran a sus valores predeterminados iniciales. Discutiremos estas configuraciones iniciales como una forma de entender cómo funciona la ACL.

Grupos predeterminados

La versión 3.x le permite definir sus propios grupos. Cuando instala la versión 3.x, incluye un conjunto de grupos predeterminados, que se muestran a continuación son los grupos de usuarios predeterminados básicos. (Se instalan grupos de usuarios predeterminados adicionales con datos de muestra)

Captura de pantalla usergroupsl acl J3 tutorial-en.png

Las flechas indican las relaciones hijo-padre. Como se discutió anteriormente, cuando establece un permiso para un grupo primario, todos los grupos secundarios heredan automáticamente este permiso. Los permisos Heredados y Permitidos pueden anularse para un grupo secundario. El permiso denegado no se puede anular y siempre denegará una acción para todos los grupos secundarios.

Global Configuration

Joomla! la versión 2.5 se instalará con los mismos permisos de fondo familiares que la versión 1.5. Sin embargo, con 2.5, puede cambiarlos fácilmente para satisfacer las necesidades de su sitio.

Como se discutió anteriormente, los permisos para cada acción se heredan del nivel anterior en la jerarquía de permisos y del grupo principal de un grupo. Veamos cómo funciona esto. El nivel superior para esto es todo el sitio. Esto se configura en el Sitio-> Configuración global-> Permisos, como se muestra a continuación.

Screenshot global acl J3 tutorial-en.png

Lo primero que debe notar son las diez acciones: Inicio de sesión en el sitio, Inicio de sesión de administrador, Acceso sin conexión, Superusuario, Interfaz de administración de acceso, Crear, Eliminar, Editar, Editar estado. y Editar propio. Estas son las acciones que un usuario puede realizar en un objeto en Joomla. El significado específico de cada acción depende del contexto. Para la pantalla Configuración global, se definen de la siguiente manera:

Acceso al sitio 
Inicie sesión en la parte frontal del sitio
Inicio de sesión de administrador 
Inicie sesión en el fondo del sitio
Acceso sin conexión 
Inicie sesión en el front-end del sitio cuando el sitio web esté fuera de línea (cuando la configuración de la Configuración global "Sitio fuera de línea" esté establecida en Sí)
Super usuario 
Otorga al usuario el estado "superusuario". Los usuarios con este permiso pueden hacer cualquier cosa en el sitio. Solo los usuarios con este permiso pueden cambiar la configuración global (esta pantalla). Estos permisos no pueden ser restringidos. Es importante comprender que, si un usuario es miembro de un grupo Super Admin, cualquier otro permiso asignado a este usuario es irrelevante. El usuario puede realizar cualquier acción en el sitio. Sin embargo, los niveles de acceso aún se pueden asignar para controlar lo que este grupo ve en el sitio. (Obviamente, un usuario de Super Admin puede cambiar los niveles de acceso si así lo desea, por lo que los niveles de acceso no restringen totalmente lo que puede ver un usuario de Super Admin).
Componente de acceso
Abra las pantallas del administrador de componentes (Administrador de usuarios, Administrador de menús, Administrador de artículos, etc.)
Crear 
Cree nuevos objetos (por ejemplo, usuarios, elementos de menú, artículos, enlaces web, etc.)
Eliminar 
Eliminar objetos existentes
Editar 
Editar objetos existentes
Editar estado 
Cambiar el estado del objeto (Publicar, Anular publicación, Archivar y Papelera)
Editar propio 
Edite los objetos que ha creado.

Cada grupo para el sitio tiene su propio control deslizante que se abre haciendo clic en el nombre del grupo. En este caso (con los datos de muestra instalados), tenemos los 7 grupos estándar que teníamos en la versión 1.5 más dos grupos adicionales llamados "Proveedores de tienda" y "Grupo de clientes". Tenga en cuenta que nuestros grupos están configurados con los mismos permisos que tenían en la versión 1.5. Tenga en cuenta que podemos cambiar cualquiera de estos permisos para que la seguridad funcione de la manera que queremos. Veamos esto para ver cómo funciona.

  • Público tiene todo configurado en "No establecido", como se muestra a continuación.
     
    Screenshot global acl public J3 tutorial-en.png
    • Esto puede ser un poco confuso. Básicamente, "No establecido" es lo mismo que "Heredado". Debido a que Public es nuestro grupo de nivel superior y a que Global Configuration es el nivel superior de la jerarquía de componentes, no hay nada de qué heredar. Por lo tanto, se utiliza "No establecido" en lugar de "Heredar".
    • El valor predeterminado en este caso es sin permisos. Entonces, como era de esperar, el grupo Público no tiene permisos especiales. Además, es importante tener en cuenta que, dado que nada está configurado como Denegado, todos estos permisos pueden ser anulados por grupos secundarios o por niveles inferiores en la jerarquía de permisos.
  • El invitado es un grupo "secundario" del grupo público que tiene todo configurado como "Heredado"
     
    Screenshot global acl guest J3 tutorial-en.png
    • Este es el 'Grupo de usuarios invitados' predeterminado en las opciones del Administrador de usuarios y el Grupo en el que se ubican los visitantes (no registrados) de su sitio.
  • El administrador es un grupo "hijo" del grupo público. Tiene permisos permitidos para todo, excepto Access Component y Super Admin. Por lo tanto, un miembro de este grupo puede hacer todo en la parte frontal y posterior del sitio, excepto cambiar los permisos globales y las opciones de componentes.
     
    Screenshot global acl manager J3 tutorial-en.png
  • Los miembros del grupo de administradores heredan todos los permisos del Administrador y también tienen el componente Permitido para acceso. Por lo tanto, los miembros de este grupo pueden acceder por defecto a las pantallas de Opciones para cada componente.
     
    Screenshot global acl administrator J3 tutorial-en.png
  • Registrado es lo mismo un Público, excepto por el permiso Permitir para la acción de Inicio de sesión del sitio. Esto significa que los miembros del grupo registrado pueden iniciar sesión en el sitio. Dado que los permisos predeterminados se heredan, esto significa que, a menos que un grupo secundario anule este permiso, todos los grupos secundarios del grupo Registrado también podrán iniciar sesión.
     
    Captura de pantalla global acl registrado J3 tutorial-es.png
  • El autor es un hijo del grupo registrado y hereda sus permisos y también agrega Crear y editar propio. Como el autor, el editor y el editor no tienen permisos de back-end, los discutiremos a continuación, cuando discutamos los permisos de front-end.
     
    Captura de pantalla del autor global de acl J3 tutorial-en.png
  • Editor es un hijo del grupo Autores y agrega el permiso Editar.
     
    Screenshot global acl editor J3 tutorial-en.png
  • Publisher es hijo del Editor y agrega el permiso Editar estado.
     
    Screenshot global acl publisher J3 tutorial-en.png
  • Comprar proveedores es un grupo de ejemplo que se instala si instala los datos de muestra. Es un grupo hijo de Autor.
  • Grupo de clientes es un grupo de ejemplo que se instala si instala los datos de muestra. Es un grupo hijo de Registrados.
  • El grupo Superusuarios tiene el permiso Permitir para la acción Superadministrador. Debido a esto, los miembros de este grupo tienen permisos de superusuario en todo el sitio. Son los únicos usuarios que pueden acceder y editar valores en la pantalla Configuración global. Los usuarios con permiso para la acción Super Admin tienen algunas características especiales:
  • Si un usuario tiene permisos de Súper Administrador, no importan otros permisos para este usuario. El usuario puede realizar cualquier acción en el sitio.
  • Solo los usuarios de Super Admin pueden crear, editar o eliminar otros usuarios o grupos de Super Admin.

Hay dos puntos muy importantes para entender desde esta pantalla. El primero es ver cómo se pueden heredar los permisos del grupo principal. El segundo es ver cómo puede controlar los permisos predeterminados por Grupo y por Acción.

Esto proporciona mucha flexibilidad. Por ejemplo, si desea que los proveedores de la tienda puedan tener la capacidad de iniciar sesión en el back-end, simplemente puede cambiar su valor de inicio de sesión de administrador a "Permitido". Si no desea permitir que los miembros del grupo Administrador eliminen objetos o cambien su estado, cambiaría sus permisos en estas columnas a Heredados (o Denegados).

También es importante comprender que la capacidad de tener grupos secundarios es completamente opcional. Le permite ahorrar algo de tiempo al configurar nuevos grupos. Sin embargo, si lo desea, puede configurar todos los grupos para que tengan Público como padre y no hereden ningún permiso de un grupo padre.

Opciones de componentes y permisos

Ahora, sigamos viendo cómo los permisos de fondo predeterminados para la versión 2.5 imitan los permisos para la versión 1.5. El grupo Superusuarios en 2.5 es equivalente al grupo Superadministrador en 1.5.

Simplemente mirando la pantalla de Configuración global anterior, parece que el grupo Administrador y el grupo Administrador tienen permisos idénticos. Sin embargo, en la versión 1.5, los administradores pueden hacer todo, excepto la configuración global, mientras que los gerentes no pueden agregar usuarios o trabajar con elementos de menú. Eso también es cierto en la configuración predeterminada de la versión 2.5. Veamos cómo se logra esto.

Si navegamos a Usuarios-> Administrador de usuarios y hacemos clic en el botón Opciones en la barra de herramientas, vemos la siguiente pantalla:

Screenshot acl tutorial 20110111-09-en.png
Screenshot acl tutorial 20110111-10-en.png

Esta pantalla es la misma que la pantalla de Permisos de configuración global, excepto que estos valores solo afectan el trabajo con los Usuarios. Veamos cómo funciona esto.

Primero, observe que el grupo Administrador tiene permiso Permitir para la acción Admin y el grupo Administrador tiene permiso Denegar para esta acción. Recuerde que la acción de administrador en la pantalla de configuración global otorga al grupo permisos de "superusuario". En esta pantalla, la acción Admin le permite editar los valores de Opciones. Entonces, el grupo Administrador puede hacer esto, pero el grupo Administrador no.

A continuación, observe que el Administrador tiene Heredar para la acción Administrar y el grupo Administrador tiene permiso de Denegar. En esta pantalla, la acción Administrar le da acceso a un grupo al Administrador de usuarios. Dado que el Administrador tiene Permitir para la acción Administrar de manera predeterminada, el permiso Heredar aquí significa que hereda el permiso Permitir para la acción Administrar. Dado que el grupo Administrador tiene permiso de Denegar para la acción Administrar, los miembros del grupo Administrador no pueden acceder al Administrador de usuarios y, por lo tanto, no pueden realizar ninguna de las otras acciones relacionadas con el usuario.

Si observa las Opciones para Menús-> Administrador de menús, verá la misma configuración predeterminada que para el Administrador de usuarios. Nuevamente, el grupo Administrador puede administrar y establecer permisos predeterminados para los objetos del Administrador de menús, mientras que el grupo Administrador no puede.

En resumen, podemos ver que los diferentes permisos para los grupos Administrador y Administrador se configuran utilizando los formularios Opciones-> Permisos en las pantallas Administrador de usuarios y Administrador de menús.

También es importante entender que este mismo formulario Opciones-> Permisos para configurar permisos predeterminados está disponible para todos los Joomla! objetos, incluidos Media Manager, Banners, Contactos, Newsfeeds, Redirect, Estadísticas de búsqueda, Enlaces web, Extensiones, Módulos, Complementos, Plantillas e Idioma. Por lo tanto, ahora tiene la opción de crear grupos de usuarios con conjuntos ajustados de permisos de back-end.

Permisos de front-end

Los permisos predeterminados para el front-end también se establecen mediante el formulario Opciones. Veamos Contenido-> Administrador de artículos-> Opciones-> Permisos. Primero, veamos los permisos para el Administrador, como se muestra a continuación.

Screenshot acl tutorial 20110111-11a-en.png
 

El administrador ha permitido permiso para todas las acciones, excepto Configurar. Por lo tanto, los miembros del grupo Administrador pueden hacer todo con Artículos, excepto abrir la pantalla Opciones.

Ahora veamos Administrador, como se muestra a continuación.

Screenshot acl tutorial 20110111-12a-en.png
 

El administrador ha permitido configurar, por lo que los administradores pueden editar esta pantalla de opciones.

Ambos grupos pueden crear, eliminar, editar y cambiar el estado de los artículos.

Ahora, veamos los grupos Editor, Editor y Autor y veamos cómo se establecen sus permisos.

Los autores solo tienen permisos Crear y Editar Propio, como se muestra a continuación.

Screenshot acl tutorial 20110112-07-en.png
 

Esto significa que los autores pueden crear artículos y editar los artículos que han creado. No pueden eliminar artículos, cambiar el estado de los artículos publicados o editar artículos creados por otros.

Los editores tienen los mismos permisos que los Autores con la adición de permiso para la acción Editar, como se muestra a continuación.

Screenshot acl tutorial 20110112-08-en.png
 

Para que los editores puedan editar artículos escritos por cualquier persona.

Los editores pueden hacer todo lo que los Editores pueden hacer y además tienen permiso para la acción Editar estado, como se muestra a continuación.

Screenshot acl tutorial 20110112-09-en.png
 

Por lo tanto, los editores pueden cambiar el estado publicado de un artículo. Los estados posibles incluyen Publicada, No publicada, Archivada y Papelera.

Todos estos grupos tienen permiso de herencia para configurar y acceder al componente. Recuerde que el Autor es un hijo del grupo Registrado, y el Registrado no tiene ningún permiso predeterminado, excepto para Iniciar sesión. Dado que Registrado no tiene permiso para Configurar y acceder al Componente, y dado que el permiso del Autor para estas acciones está "Heredado", el Autor tampoco tiene estos permisos. Este mismo permiso se pasa del Autor al Editor y del Editor al Editor. Por lo tanto, de forma predeterminada, ninguno de estos grupos puede trabajar con artículos en el back-end.

Es importante recordar que estos permisos son solo configuraciones predeterminadas para categorías y artículos y para cualquier grupo secundario que se cree. Por lo tanto, pueden anularse para grupos secundarios, para categorías y para artículos específicos.

Además, tenga en cuenta que no hay permisos denegados para ninguna acción en la configuración predeterminada. Esto le permite agregar permisos permitidos en cualquier nivel. Recuerde, una vez que tenga una acción establecida para Denegado, esta acción será denegada en todos los niveles inferiores de la jerarquía. Por ejemplo, si configura el inicio de sesión de administrador para registrado en denegado (en lugar de heredado), no podría otorgar permisos de editor permitidos para esta acción.

Administrador de artículos y diagrama de acciones

El siguiente diagrama muestra cómo cada acción en el formulario de permisos se relaciona con las diversas opciones en la pantalla del Administrador de artículos.

Screenshot acl tutorial 20110111-16-en.png
  • Configurar le permite ver y cambiar las Opciones para el componente.
  • El componente de acceso le permite navegar al Administrador de artículos. Sin este permiso, no son posibles otras acciones.
  • Crear le permite agregar nuevos artículos.
  • Eliminar le permite eliminar artículos desechados. Tenga en cuenta que el icono Eliminar solo se muestra en la barra de herramientas cuando tiene el filtro "Seleccionar estado" configurado en "Papelera".
  • Editar le permite editar artículos existentes.
  • Editar estado le permite publicar, anular la publicación, archivar o artículos de papelera.
  • Editar Propio es lo mismo que Editar, excepto que solo se aplica a los artículos escritos por usted.

Permitir acceso solo para invitados a elementos de menú y módulos

La versión 1.6 introdujo la capacidad de crear un Nivel de acceso a la vista que es solo para invitados del sitio (es decir, un usuario que no ha iniciado sesión). El siguiente ejemplo muestra cómo puede configurar esta nueva función. (Nota: los pasos 1 a 3 no son necesarios para Joomla! 3.x, ya que existen en la instalación predeterminada)

  1. Cree un nuevo grupo de usuarios llamado Invitado. Hágalo hijo del grupo Público como se muestra a continuación.
    Screenshot acl tutorial 20110112-01-en.png
     
  2. Cree un nuevo nivel de acceso llamado Invitado y otorgue solo el acceso del grupo Invitado a este nivel, como se muestra a continuación.
    Screenshot acl tutorial 20110112-02-en.png
     
  3. Vaya a Administrador de usuarios → Opciones → Componente y cambie el Grupo de usuarios invitados del valor predeterminado de "Público" a "Invitado", como se muestra a continuación.
Screenshot acl tutorial 20110112-04-en.png
 

Ahora, si asignamos un elemento de menú, módulo u otro objeto al nivel de acceso de Invitado, solo los usuarios no registrados tendrán acceso. Por ejemplo, si creamos un nuevo elemento de menú con nivel de acceso de Invitado, como se muestra a continuación,

Screenshot acl tutorial 20110112-05-en.png
 

Este elemento del menú solo será visible para los visitantes que no hayan iniciado sesión en el sitio.

Si se requiere que otros grupos de usuarios como Autor puedan tener acceso en el nivel de acceso Invitado, esto permitiría a los Autores ver artículos en el front-end para editarlos.

NB Iniciar sesión / cerrar sesión en el front-end ( para cambiar los datos en la sesión ) para ver el cambio.

Uso de permisos y niveles grupales juntos

Como se discutió anteriormente, es posible definir grupos en una jerarquía, donde cada grupo secundario hereda los permisos de acción (por ejemplo, el permiso de creación) de su grupo primario. Los permisos de acción también se heredan del nivel de permiso anterior. Por ejemplo, un permiso en el Administrador de artículos se hereda del mismo permiso en la Configuración global, y un permiso en una Categoría secundaria se hereda del permiso de Categoría principal.

Esta doble herencia puede ser confusa, pero también puede ser útil. Consideremos un ejemplo de la siguiente manera. Tenemos una escuela con una jerarquía grupal de Maestros → Maestros de Historia → Profesores Asistentes de Historia. También tenemos una jerarquía de categorías de Asignaciones → Asignaciones de historial. Queremos que los profesores de historia y los profesores de historia asistentes tengan los siguientes permisos:

  • ambos grupos pueden crear nuevos artículos solo en la categoría Asignaciones de historial.
  • solo los profesores de historia (no los profesores de historia asistentes) pueden publicar o tener permiso para editar el estado.

Este esquema de ACL es muy fácil de implementar. El siguiente diagrama muestra cómo se configuraría esto para la acción Crear.

Acl example diagram1 20091018-en.png

En el diagrama, la jerarquía de permisos se muestra en el lado izquierdo y la jerarquía de grupos en la parte superior. Los permisos se heredan hacia abajo y hacia la derecha, como lo muestran las flechas. Para implementar los permisos deseados, dejamos en blanco la Configuración global (No establecida) para los tres grupos. Del mismo modo, en la categoría Administrador de artículos y Asignaciones, dejamos el permiso Crear para heredar para todos los grupos. Como se muestra en el diagrama, esto significa que estos grupos no tienen permiso de Crear para artículos en general o para artículos en el grupo Asignaciones.

Para resumir hasta ahora, no hemos establecido ningún permiso especial para llegar a este punto. Ahora, en la pantalla de permisos de la categoría Asignaciones de historial, configuramos el permiso Crear para Permitir para el grupo de Maestros de historia. Esta configuración anula la Denegación suave (implícita) que teníamos de forma predeterminada y otorga a los miembros de este grupo permiso para crear contenido (artículos y categorías secundarias) para esta categoría. Esta configuración Permitir también la hereda el grupo Asistente de profesores de historia.

A continuación, debemos otorgarles a los profesores de historia el permiso Editar estado y denegar este permiso a los profesores de historia asistentes. Esto se hace como se muestra en el diagrama a continuación.

Acl example diagram2 20091018-en.png

Esta configuración es la misma que la anterior, excepto que esta vez configuramos el permiso Editar estado en la categoría Asignaciones de historial para Denegar para el grupo Asistente de maestros de historia. Esto significa que los profesores asistentes de historia no podrán publicar o anular la publicación de artículos en esta categoría.

Tenga en cuenta que esto se logró al establecer solo dos permisos en la categoría Asignaciones de historial: Permitir para el grupo de Maestros de historia y Denegar para el grupo Asistente de maestros de historia.

Ejemplos de permisos de acción de ACL

Estos son algunos ejemplos de cómo puede configurar la ACL para algunas situaciones específicas.

Administrador de artículos de fondo

Problema:

Queremos crear un grupo llamado "Administrador de artículos" con permisos de fondo solo para artículos y no para otras opciones de menú de fondo. Los miembros de este grupo deberían poder usar todas las funciones del administrador de artículos, incluida la configuración de permisos de artículos.

Solución:

  1. Cree un nuevo grupo llamado Administrador de artículos y haga público su grupo principal, como se muestra a continuación.
    Screenshot acl tutorial 20110112-10-en.png
     
    Debido a que su grupo principal es Público, no tendrá ningún permiso por defecto.
  2. En Usuarios → Niveles de acceso, edite el nivel de Acceso especial para agregar el nuevo grupo. De esa forma, pueden obtener acceso a los elementos y módulos del menú de back-end (Esto supone que los módulos para el menú de administración y los quickicons tienen asignado el nivel de Acceso especial, que es el predeterminado).
    Screenshot acl tutorial 20110112-11-en.png
     
    De forma predeterminada, los elementos y módulos del menú de fondo están configurados para acceso especial, por lo que si olvida agregar el nuevo grupo al nivel de acceso especial, no verá ningún módulo o elemento de menú cuando inicie sesión como usuario de El nuevo grupo.
  3. En Sitio → Configuración global → Permisos, haga clic en el grupo Administrador de artículos y cambie los permisos a Permitidos para las siguientes acciones: Inicio de sesión de administrador, Crear, Eliminar, Editar, Editar estado y Editar propio. La pantalla a continuación muestra lo que se mostrará antes de presionar Guardar.
    Screenshot acl tutorial 20110112-12-en.png
     
    Después de guardar, los permisos calculados deberían mostrarse como se muestra a continuación.
    Screenshot acl tutorial 20110112-13-en.png
     
    Tenga en cuenta que el permiso para el Componente de acceso se hereda, lo que se traduce como No permitido. Esto es importante. Esto significa que este grupo solo podrá acceder a los componentes si le damos al grupo el permiso "Permitido" para el Componente de acceso. Por lo tanto, solo tenemos que cambiar el componente al que queremos darles acceso y no tenemos que cambiar ninguna configuración para los componentes donde no queremos que tengan acceso. Si tuviéramos un caso en el que quisiéramos dar acceso a un grupo a todo excepto a un componente, podríamos establecer el valor predeterminado en Permitido y luego establecer el componente en Negado. También tenga en cuenta que no le dimos permiso al grupo para iniciar sesión en el sitio, por lo que los usuarios de este grupo no podrán iniciar sesión en el front-end. (Si quisiéramos permitir eso, simplemente cambiaríamos el permiso a Permitido para Iniciar sesión en el sitio).
  4. En Administrador de artículos → Opciones → Permisos, cambie los permisos a Permitidos para este grupo para la acción Componente de acceso, como se muestra a continuación.
    Screenshot acl tutorial 20110112-14-en.png
     
    Todos los demás permisos deseados se heredan.

Eso es todo lo que necesitas hacer. Los miembros de este grupo pueden iniciar sesión en el back-end y hacer todo en Article Manager, pero no pueden hacer nada más en el back-end. Por ejemplo, la pantalla a continuación muestra lo que verá un usuario en el Administrador de artículos cuando inicie sesión en el back-end.

Screenshot acl tutorial 20110112-15-en.png
 

Ejemplos de niveles de acceso de vista de ACL

Un concepto básico del uso de los niveles de acceso es que todos los elementos con el mismo acceso serán visibles para el mismo grupo de usuarios. En otras palabras, si dos elementos tienen el mismo acceso, no puede tener uno visible para un usuario y otro usuario no puede verlo. Por otro lado, es fácil que un grupo vea cualquier cantidad de elementos con diferentes niveles de acceso.

Del mismo modo, cada grupo tiene exactamente la misma combinación de niveles de acceso, pero un usuario puede ser miembro de más de un grupo. Dependiendo de la situación, es posible que desee tener usuarios solo en un Grupo o puede que necesite tener un Usuario en más de un Grupo.

Esto significa que es posible que necesitemos agrupar nuestros elementos para que todos los elementos de un grupo tengan el mismo nivel de sensibilidad. Aquí hay unos ejemplos.

Ejemplo jerárquico

En este ejemplo, los niveles de acceso son jerárquicos, por ejemplo, como los códigos de autorización de seguridad del gobierno. Digamos, por ejemplo, que tenemos los siguientes conjuntos de documentos clasificados: Clasificado, Secreto y Alto Secreto. Los usuarios tienen los códigos de autorización correspondientes. Los usuarios con autorización clasificada solo pueden ver documentos clasificados y no pueden ver Secret o Top Secret. Los usuarios con autorización secreta pueden ver documentos clasificados y secretos, pero no Top Secret. Los usuarios con Top Secret pueden ver todos los documentos.

En este caso, crearía tres niveles de acceso: clasificado, secreto y secreto superior y los mismos tres grupos. Los usuarios solo serían miembros de un grupo, de la siguiente manera:

Usuario Grupo Niveles de acceso
C1, C2, C3 Clasificado Clasificado
S1, S2, S3 Secreto Clasificado, Secreto
TS1, TS2, TS3 Ultra secreto Clasificado, secreto, alto secreto

En este caso, todos los usuarios están exactamente en un grupo, pero algunos grupos tienen acceso a más de un Nivel de acceso de elementos. En otras palabras, tenemos una relación uno a uno entre usuarios y grupos, pero una relación uno a muchos entre grupos y niveles de acceso.

Ejemplo de seguridad del equipo

Otro posible caso de uso es un conjunto de equipos no jerárquicos. Digamos que tenemos tres equipos, T1, T2 y T3. Algunos usuarios solo están en un equipo, pero otros pueden estar en dos o más equipos. En este caso, podríamos configurar nuestros niveles de acceso y grupos por equipo. Los documentos para cada equipo tienen el nivel de acceso para ese equipo, y el Grupo para el equipo tiene solo un nivel de acceso. Cuando un usuario está en más de un equipo, se agregan al grupo para cada equipo, de la siguiente manera:

Usuario Descripción Grupo Niveles de acceso
U1 Miembro del equipo 1 T1 T1
U2 Miembro del equipo 2 T2 T2
U3 Miembro del equipo 3 T3 T3
U1-2 Miembro de los equipos 1 y 2. T1, T2 T1, T2
U1-3 Miembro de los equipos 1 y 3. T1, T3 T1, T3
U1-2-3 Miembro de los equipos 1,2 y 3. T1, T2, T3 T1, T2, T3

 

Ejemplo híbrido

En una situación del mundo real, es posible que tenga una combinación de estos dos arreglos. Digamos, por ejemplo, que tenemos gerentes y personal. El personal solo puede ver los documentos del personal y los gerentes pueden ver los documentos del administrador y del personal. Ambos tipos de usuarios también pueden asignarse a equipos, en cuyo caso pueden ver todos los documentos de ese equipo. Además, digamos que los Gerentes pueden acceder a algunos, pero no a todos, los documentos del equipo. El personal solo puede acceder a los documentos del equipo si son miembros de ese equipo.

En este ejemplo, podríamos configurar los siguientes niveles de acceso:

Nivel de acceso Descripción Grupos
Gerente Documentos del gerente que no son del equipo Gerente
Personal Documentos de personal no pertenecientes al equipo Gerente de personal
Equipo1 Documentos confidenciales del equipo 1 (sin acceso fuera del equipo) Equipo1
Team1-Manager Documentos de Team1 a los que pueden acceder todos los gerentes Equipo1, Gerente
Team2 Documentos confidenciales de Team2 (sin acceso fuera del equipo) Team2
Team2-Manager Documentos de Team2 a los que pueden acceder todos los gerentes Team2, Gerente

Luego, los usuarios podrían asignarse a grupos de la siguiente manera:

Tipo de usuario Grupo
Gerente en ningún equipo Gerente
Personal en ningún equipo Personal
Gerente del equipo 1 Gerente, equipo1
Personal del equipo 1 Personal, equipo1
Gerente en los equipos 1 y 2 Gerente, Equipo1, Equipo2
Personal en los equipos 1 y 2 Personal, Equipo1, Equipo2
 
 

Imprimir   Correo electrónico