Entendiendo los Permisos en OpenCMS v.7
02/02/2010 Ismael Calvo Administración, OpenCms
1. DEFINICIÓN DE TÉRMINOS Y FUNCIONAMIENTO
En esta sección se detallan los términos y el funcionamiento de los permisos en OpenCMS v.7
En las siguientes secciones se muestra un requisito de uso a modo de ejemplo y su resolución.
1.1 CÓMO FUNCIONAN LOS PERMISOS
Existen tres estados posibles para cada tipo de permiso:
En OpenCms de forma predeterminada el grupo Users tiene permiso de escritura. Para cambiar esto, debe ir hasta el nivel de sites, seleccionar la carpeta del sitio web (por ejemplo, /sites/misitioweb), agregar manualmente el grupo de usuarios a la lista de permisos y establecer los permisos que desee. Luego seleccione Sobrescribir heredado (Overwrite inherited) y Heredar en subcarpetas (Inherit on subfolders) para que todo el sitio herede los permisos seleccionados.
Los administradores están autorizados a hacer todo y todas las comprobaciones de permisos son ignoradas.
1.2 GRUPOS POR DEFECTO
Se encuentran definidos los siguientes grupos en OpenCMS:
1.3 PERMISOS BÁSICOS
1.4 ROLES
Los roles son usados en OpenCMS para gestionar el acceso a ciertas funciones. Cuando una función protegida es accedida, OpenCMS chequea los roles del usuario. La función se ejecutará sólo si el usuario tiene los roles requeridos. OpenCMS usa los siguientes roles:
Rol
Dependencia
Descripción
Administrador Raíz (Root Administrator)
Ninguna
Los usuarios con este rol tienen todos los permisos en el sistema
Administrador (Administrator)
Administrador Raíz
Los usuarios con este rol tienen todos los permisos en la unidad organizativa dada.
Gestor de cuentas (Role Account manager)
Administrador
Los usuarios con este rol pueden gestionar usuarios y grupos.
Gestor de proyectos (Role Project manager)
Administrador
Los usuarios con este rol pueden gestionar proyectos.
Gestor de recursos VFS (Role VFS resource manager)
Administrador
Los usuarios con este rol pueden gestionar todos los recursos de la unidad organizativa dada, cualquier comprobación de permisos es ignorada.
Rol Desarrollador de plantillas (Template developer)
Gestor de recursos
Los usuarios con este rol pueden gestionar ficheros jsp.
Usuario del entorno de trabajo (Role Workplace user)
Administrador Raíz
Los usuarios con este rol pueden iniciar sesión en el entorno de trabajo.
Gestor de base de datos (Role Database manager)
Administrador Raíz
Los usuarios con este rol pueden gestionar módulos e importar/exportar datos.
Rol
Gestor del entorno de trabajo (Workplace manager)
Administrador RaízLos usuarios con este rol pueden gestionar tareas programadas, índices de búsqueda, definiciones de propiedades, histórico de los recursos, y las herramientas del entorno de trabajo.
La definición de los roles es jerárquica. Cuando se le otorga un rol a un usuario, se considera que también posee todos los roles en los niveles inferiores del árbol.
1.5 RELACIÓN ENTRE USUARIO, GRUPOS, ROLES Y PERMISOS
Los grupos por defecto (invitado, usuarios, gestores de proyectos y administradores) tienen asignados roles por defecto. Al asignar a un grupo por defecto un usuario, éste adquiere los roles del grupo, pero pueden ser modificados para cada usuario en particular si se desea.
Grupos por Defecto
Roles
Invitado (Guest)
Ninguno
Usuarios (Users)
Usuario del entorno de trabajo (Role Workplace user)
Gestores de proyectos (Projectmanagers)
Usuario del entorno de trabajo (Role Workplace user)
Gestor de proyectos (Role Project manager)
Administradores (Administrators)
Todos
Por defecto se asignan los siguientes permisos al sitio (/sites/default):
En OpenCms de forma predeterminada el grupo Users tiene permiso de escritura. Para cambiar esto, debe ir hasta el nivel de sites, seleccionar la carpeta del sitio web (por ejemplo, /sites/misitioweb), agregar manualmente el grupo de usuarios a la lista de permisos y establecer los permisos que desee. Luego seleccione Sobrescribir heredado (Overwrite inherited) y Heredar en subcarpetas (Inherit on subfolders) para que todo el sitio herede los permisos seleccionados.
Los administradores están autorizados a hacer todo y todas las comprobaciones de permisos son ignoradas.
2. EJEMPLO DE USO
Se definen una serie de ejemplos con la intención de cubrir los usos comunes de la funcionalidad de permisos de OpenCMS v.7.
2.1 GESTIÓN DE UN PERIÓDICO DIGITAL
En el periódico digital “Sanidad Digital”, se ejecuta el siguiente procedimiento de publicación de noticias de pediatría. Existe un editor que redacta la noticia en la sección de pediatría. Una vez redactada, la noticia debe pasar un control de calidad realizado por el departamento de redacción periódica. Una vez dado el visto bueno por el departamento de redacción, el jefe de pediatría, que sólo tiene acceso a la sección de pediatría, debe publicar la noticia. Ahora los lectores de “Sanidad Digital” pueden disfrutar de su lectura en la web.
2.2 DETECTAR LOS ROLES Y PERMISOS
En el procedimiento descrito se detectan los siguientes roles y permisos:
2.3 GESTIÓN DE LOS PERMISOS
Inicialmente hay que quitar los permisos de escritura al grupo de Usuarios (Users) En la carpeta /sites/default/portaldigital se asignan los siguiente permisos.
Ahora los miembros del grupo Usuarios, sólo pueden acceder con permisos de Vista y Lectura a toda la web.
Se debe crear un usuario editor y un grupo Editores. Al usuario editor se le asignan como miembro del grupo de Usuarios y Editores. Y después, en la carpeta /sites/default/portaldigital/pediatría se asignan los siguientes permisos al grupo Editores.
Ahora los Editores tienen permiso de escritura en pediatría y pueden crear las noticias.
Al jefe de departamento de pediatría se le debe crear un usuario con permisos de publicación directa sobre los recursos de pediatría. Para ello, se crea un usuario publicador y un grupo Publicadores. Al usuario publicador se le asigna como miembro del grupo de Usuarios y Publicadores. Y después en la carpeta /sites/default/portaldigital/pediatría se asignan los siguientes permisos al grupo Publicadores
Ahora los Publicadores tienen permiso de publicación sobre los recursos de pediatría.
Por último hay que asignar permisos de Vista, Lectura, Escritura al departamento de redacción periodística sobre todo el sitio. Para ello creamos un usuario revisor y un grupo Revisores. Al usuario revisor de le asigna como miembro del grupo de Usuarios y Revisores. Y después en la carpeta /sites/default/portaldigital de asignan los siguientes permisos al grupo Revisores.
Ahora los Revisores tienen permiso de Vista, Lectura y Escritura sobre toda la web.