Gestión de permisos para Unidades Organizativas
09/01/2014 Sergio Raposo Vargas Administración, OpenCms, Manuales y tutoriales
Recientemente configurando los permisos de edición y publicación para la web de un ayuntamiento me he encontrado un problema que no me había pasado antes.
Os cuento, los requisitos que tenía eran:
- Un grupo de editores de noticias que solo podían editar y no publicar
- Un grupo de editores total del portal que podían tanto editar como publicar
- Un grupo de editores y publicadores por área
Pues bien, los pasos que hemos dado para configurar este caso han sido:
- Creamos una unidad organizativa propia para el portarl
- Editamos los permisos del sites y asignamos al grupo Users creado con la OU los siguientes permisos: +r+v y al grupo de editores del portal: +r+w+v+c+d
- Nos vamos ahora a la carpeta de noticias, y le asignamos para el grupo de editores de noticias los permisos: +r+w+v
- Por último, nos vamos a la carpeta del subsite de cada área y le asignamos los permisos para el grupo correspondiente: +r+w+v+c+d
En base a esta configuración, el usuario editor de noticias debe pertenecer a los siguientes grupos:
- /Users (indirectamente)
- /ou/Users (directamente): Debe pertenecer directamente a este grupo para que el usuario tenga el rol de workplace-user y por lo tanto pueda hacer login en la aplicación.
- /ou/EditoresNoticias (directamente)
Bueno, pues tras todo esto, y intentado hacer una prueba entrando como un usuario editor de noticias para comprobar que puede editar solo noticias y que no las puede publicar. Para mi sorpresa, efectivamente solo podía editar noticias, pero las podía publicar sin problemas. Tras revisar y revisar múltiples veces la configuración de permisos, he conseguido encontrar el problema:
OpenCms cuando crea una OU y crea el usuario Users por defecto hace más cosas, como por ejemplo crear un proyecto Offline propio para esa OU y asigna como usuario y administrador de dicho proyecto Offline al grupo Users. Por lo tanto, todo usuario que pertenezca a dicho grupo, al ser administrador del proyecto, va a poder publicar independientemente de la gestión de permisos que hagamos.
Para solucionar esto tenemos 2 opciones:
- Editar el proyecto Offline creado para esa OU y asignar como grupo de usuarios administradores al grupo EditoresPortal.
- Hacer que los usuarios no pertenezcan al grupo Users por defecto y asignar a mano el rol de workplace-user a cada usuario creado.
La solución es muy simple, pero dar con el fallo no tanto, espero que si os pasa este caso, este post os sirva para arreglarlo.