| Joomla!® 1.6 y su sistema de control de acceso |
|
|
|
| Lunes, 17 de Enero de 2011 17:44 |
Visión general.El nuevo sistema de control de acceso (ACL) de la versión de Joomla! 1.6, cambia sensiblemente con respecto al de su antecesora, la versión 1.5. Para quién está familiarizado con el manejo y configuración de este tipo de cosas, su comprensión y readptación a la nueva versión, le resultará muy simple; sin embargo, para usuarios noveles que estuvieran acostumbrados a manejarse solo en el sistema anterior, puede que a partir de ahora, necesiten de adentrarse en la comprensión de algunos conceptos nuevos para ellos. Prestando atención y practicando un poco, podrán darse cuenta de que nada es tan complicado como parece.  Los usuarios.Son todos aquellos que disponen de una cuenta de acceso a nuestro sitio web y se manejan desde el "Gestor de usuarios". Excepcionalmente, a todos aquellos que accedan a nuestro sitio sin identificarse, Joomla! los reune automáticamente dentro de un grupo que podremos determinar. Normalmente se llamará "Grupo público", pero el grupo se puede renombrar o se puede asignar a los "visitantes" a otro grupo determinado. En la siguiente imagen podrán ver en detalle, como se puede concretar el grupo para los invitados, desde el "Gestor de usuarios >> Icono "Opciones" >> pestaña "Componente":
Los usuarios, pueden pertenecer a uno o varios grupos. Desde el Gestor de usuarios (pestaña "Usuarios"), podemos determinar a que grupos pertenece cada usuario, seleccionándolo desde la lista de grupos disponibles. Los grupos.Se manejan desde el "Gestor de usuarios" >> pestaña "Grupos de usuario" y es, sobre los grupos, desde donde se puede determinar el estado de las acciones, permitiéndosenos asà diferenciar tipos de usuario y sus privilegios de interacción con nuestro sitio, según su pertenencia un grupo o grupos determinados. El "Grupo público", y el de "Super usuarios", aunque se pueden renombrar, son los dos grupos imprencindibles para que Joomla! funcione en condiciones mÃnimas aceptables. Podemos crear tantos grupos como deseemos, o editar y reconfigurar los existentes. Los niveles de acceso.Se manejan desde el "Gestor de usuarios" >> pestaña "Niveles de acceso" y también nos permiten establecer relaciones con los grupos. Cada nivel de acceso, permite establecer relaciones con uno o más grupos. Por ejemplo, al crear un nuevo usuario, podemos asignar su pertenencia al "Grupo registrados"(edición del usuario), y, por otra parte, podemos tener un nivel de acceso, llamado "Registrado"(edición del nivel de acceso), desde el que también podemos indicar a que grupo es necesario pertenecer, para obtener acceso a tal o cual contenido. Por lo tanto, cuando editamos o creamos un contenido, en la lista de selección desplegable del parámetro "Acceso", podremos seleccionar entre los distintos niveles de acceso disponibles. Es decir, que lo que indicamos desde ahÃ, por medio del nivel de acceso, es el grupo al que tendrá que pertenecer un usuario, para poder acceder a ese contenido (quién dice contenido, dice artÃculo, menú, elemento del menú, módulo, etc; es decir, donde podamos determinar el parámetro "Acceso"). En el caso de nuestro ejemplo de más arriba, el nivel de acceso "Registrado", significa que los usuarios han de pertenecer al "Grupo registrados" (porque asà lo hemos configurado -buscándole una relación lógica comprensible entre ambas cosas-). Como podrán comprobar, al instalarse Joomla!, se crea un nivel de acceso llamado "Especial". El cual establece su relación con el "Grupo gestores", el "Grupo autores", y el "Grupo super usuarios", por lo tanto, quienes tendrÃan acceso a ese contenido en esta ocasión (parámetro "Acceso" = Especial), serÃan los usuarios que pertenezcan al "Grupo gestores", o al "Grupo autores", o al "Grupo super usuarios". El nivel de acceso "Especial", se ha introducido por cuestiones de compatibilidad con Joomla! 1.5, pero también sirve de ejemplo sobre el modo en que se pueden resolver este tipo de planteamientos. Por una parte los usuarios pertenecen a grupos determinados, y por otra, los niveles de acceso, nos permiten incluir grupos a los que se les concederá acceso. Podemos crear tantos niveles de acceso como deseemos, o editar y reconfigurar los existentes. Los niveles de gestión.Son aquellas áreas en las que se nos va a permitir configurar los permisos. Siguiendo un orden y prioridad en la aplicación de los permisos descendente, la configuración global, cada componente, cada categorÃa y cada artÃculo, conforman los distintos niveles de gestión predeterminados desde donde se nos permitirá interactuar, en mayor o menor medida, con la configuración de los permisos. Es sencillo localizar o identificar las distintos niveles de gestión. El primer nivel de gestión, se encuentra en la "Configuración global >> pestaña "Permisos" y solo hay un nodo. Lo configurado ahÃ, tiene prioridad 4 El segundo nivel de gestión, se encuentra accediendo por medio del icono la barra de herramientas de cada componente El tercer nivel de gestión, se encuentra al editar/crear una categorÃa. Por medio del botón El cuarto nivel de gestión, se encuentra al editar/crear un artÃculo (botón "Asignar permisos"). Puede haber tantos nodos de cuarto nivel como artÃculos. Lo configurado ahÃ, tiene prioridad 1
Poder hacer las cosas de este modo, nos confiere una granularidad, cantidad de combinaciones, y un control mucho más amplio del que tenÃamos antes. Es importante comprender que, dentro de los niveles de gestión, se aplicarán condiciones de prioridad, restricciones de configuración y habrá recursividad.
Las accionesSon visibles desde los distintos niveles de gestión. Representan a aquellas operaciones relacionadas con las tareas, en las que es posible efectuar el control ACL. Hay nueve tipos de acciones predeteminadas. Estas son: Note que, solo los usuarios pertenecientes al "grupo super usuarios" (estado de la acción "super administrador" = Permitido), tienen acceso a la configuración global, y, por lo tanto, solo ellos pueden aplicar cambios en ese primer nivel de gestión.
La configuración global, es el nivel de gestión superior, y es a partir de esa configuración, con la que podremos establecer la configuración inicial de todo el sitio, para todas las acciones, y luego, en la medida que se nos permita, desde los otros niveles de gestión inferiores, como el de componentes, se nos permitirá interactuar con la configuración "componente a componente" (com_contact, com_users, com_content, etc), desde la edición de categorÃas se nos permitirá interactuar con la configuración "categorÃa por categorÃa" (extensible a categorÃas de articulos, categorÃas de enlaces web, categorÃas de contactos, etc), y, desde la edición de artÃculos se nos permitirá interactuar con la configuración "artÃculo por artÃculo". La herencia de los permisos va bajando con recursividad por la estructura de los grupos, y por los cuatro niveles de gestión, siguiendo el orden.
El último nivel de gestión, es el que cobra mayor relevancia si cambiamos la configuración de permisos desde ahÃ; sin embargo, las acciones con las que podemos interactuar desde ahi, son las mÃnimas.
El estado de las accionesNos permite determinar, dentro de cada grupo, por cada acción, un estado. El estado de las acciones, dentro de nuestra estructura de grupos, se propaga y aplica con recursividad. Los valores posibles son: Sin asignar, heredado, permitido y denegado. Otras consideraciones a tener en cuenta.En el desempeño de esta tarea, desde el CMS Joomla! se intentará ayudarle en todo momento, por medio de la breve información que aparece en las pantallas de configuración ACL, o por medio de los tooltips emergentes que aparecen al mover el puntero del ratón sobre la mayorÃa de los parámetros configurables.
La iconografÃa usada, es muy intuitiva. Incluso para distinguir cuando un estado calculado de la acción está heredadamente permitido o denegado, se usa una tonalidad de colores más suave, para diferenciar con claridad lo heredado de lo explÃcito.
Establecer una configuración en el primer nivel de gestión (en la configuración global), sin aplicar otros cambios en ninguno de los otros niveles de gestión inferiores, hará que lo configurado sobre la configuración global, se propague recursivamente por el resto de los niveles de gestión. En el momento que usted empiece a aplicar cambios desde los niveles de gestión inferiores, los cálculos de las configuraciones resultantes podrÃan empezar a ser distintos, desde ahà donde usted aplique el cambio, y hacia abajo.
No todos los componentes dispondrán de cuatro niveles de gestión. Por ejemplo, el componente de anuncios, solo tiene tres. Es decir, podemos llegar ha gestionar los privilegios de acceso de sus categorÃas (tercer nivel de gestión); pero, si editamos un anuncio, podremos ver que no es posible asignar los privilegios "anuncio por anuncio".
Joomla! hace que sea fácil integrar los niveles de gestión en las extensiones de terceros, y puede que algunas de ellas, añadan acciones nuevas. En todo caso, se ha estado revisando lo que nos trae Joomla! de serie.
En caso de que se produzcan situaciones del tipo "No permitido (bloqueado)" en la asignación del estado de los permisos, tenga en cuenta de que normalmente se deberá a que usted está entrando en contradicción con el modelo permitido. Posiblemente, debido a que desde un nivel de gestión inferior, está permitiendo lo que desde un nivel de gestión superior se está denegado explicÃtamente, o, porque desde un subgrupo, está permitiendo alguna acción que desde el grupo principal, se está denegando explÃcitamente.
Haciendo un buen uso de "Sin asignar" desde la configuración global y grupo público (que se pasará en herencia al resto de grupos de la estructura como "Denegado al que se le puede cambiar el estado"), para luego, "heredar, permitir o denegar" los estados de las acciones, sobre una estructura de grupos y subgrupos coherente, y siguiendo un razonamiento lógico y ajustado al modelo permitido, se podrá evitar provocar este tipo de situaciones.
Los datos de ejemplo incluidos e instalables junto con la instalación de Joomla!, además de la información visible desde el sitio, proporcionan una excelente referencia al "como están configuradas todas las cosas", incluyendo lo relacionado con el tema del ACL. Sà hace un buen uso de los datos de ejemplo, le pueden resultar de gran ayuda; sin embargo, comprenda que son eso, solo ejemplos, y que por lo tanto, los requisitos de su sitio en cuanto a estructuración de grupos, niveles de acceso, y asignación de permisos podrÃan ser otros.
Ahora es su turno... esperamos que con la información que le facilitamos por medio de este artÃculo, le resulte más sencillo animarse y practicar con estas cosas. |






y luego, pestaña "Permisos". Puede haber tantos nodos de segundo nivel como componentes. Lo configurado ahà tiene prioridad 3
. Puede haber tantos nodos de tercer nivel como categorÃas. Lo configurado ahÃ, tiene prioridad 2