Sistema de permisos

1 Introdución e conceptos

Neste documento tratamos de dar unha explicación simplificada sobre a organización dos permisos, os papeis ou roles de usuario e os contextos, que permita comprender o significado dunha asignación de permisos e así poder facer unha xestión axeitada dos mesmos.

Imos describir cinco conceptos: Contextos, Roles, Asignacións, Configuración de permisos e Anulacións.

Contextos

Os contextos son os ámbitos nos que podemos aplicar os permisos. Moodle define sete contextos: Sistema, Usuario, Páxina principal, Categoría de cursos, Curso, Bloque e Módulo de actividade. Estes organízanse de xeito xerárquico como vemos no diagrama:

Contextos en Moodle

Figura: Contextos en Moodle

Aquí vemos que os bloques e os módulos de actividade poden pertencer a un curso ou á páxina principal (a páxina principal en Moodle é realmente un curso especial).
Debido á organización xerárquica dos contextos, se a un usuario se lle concede un pemiso nun destes contextos, tamén o terá nos contextos inferiores. Por exemplo se un usuario ten permisos para crear temas de foro para unha categoría de cursos, tamén o terá para todos os cursos que haxa nesa categoría.

Papeis ou Roles

Os permisos non son asignados directamente aos usuarios senón a roles de usuario. Moodle define un conxunto de roles, que organiza tamén de xeito xerárquico. Esta xerarquía fai que un usuario que ten un rol nun contexto poda tamén xogar o papel dos roles inferiores no mesmo contexto. O administrador dun aula virtual en Moodle pode definir novos roles ademáis dos estándar.

Os roles estandar de Moodle 2.x que son os seguintes, ordenados de xeito xeráquico de maior a menor:

  • Administrador do sistema
  • Xestor
  • Creador de cursos
  • Profesor editor
  • Profesor non editor
  • Estudante
  • Convidado
  • Usuario autenticado
  • Usuario autenticado na páxina principal

Esta organización xerárquica dos roles quere dicir que se un usuario ten un papel nun contexto, tamén pode adoitar os papeis inferiores nese contexto. Por exemplo un usuario que é Profesor editor nun curso, tamén pode actuar como Estudante nese curso.


Asignación de permisos

Unha asignación de permisos en Moodle implica a tres entidades: un usuario, un rol e un contexto.Aquí está a chave para comprender o funcionamento dos permisos en Moodle. O que se fai é asignar a un usuario concreto, un rol en un contexto concreto. Un exemplo de asinación podería ser:

Usuario Papel Contexto
Ana Profesor editor Curso FH


Así segundo esta asignación, a usuaria Ana terá os permisos definidos no rol de Profesor Editor, aplicados ao Curso FH. Logo esta usuaria poderá ter outros roles en outros contextos, como ser profesor non editor en outro curso ou ser estudante en outro.

Seguindo con este exemplo, o caracter xerárquico dos roles fai que desta asignación, se derive que ademais Ana pode actuar cos papeis inferiores a Profesor editor no Curso FH, e dicir, pode actuar como Profesor non editor, como Estudante e tamén como Invitado no Curso FH.

Ademais, o caracter xerárquico dos contextos, fai que Ana poda utizar eses permisos de Profesor Editor nos contextos inferiores ao de Curso para o Curso FH, e dicir, pode utilizar eses permisos nos bloques, e módulos de actividade que hay no Curso FH.

Un erro que se ten cometido nalgúns Centros e asignar a un usuario o rol de Profesor no contexto do Sistema, o que provoca que ese usuario apareza como profesor en tódolos cursos da aula. Pero en Moodle 2.x este problema xa se evita ao estar a asignación de roles ao nivel do sistema restrinxida aos roles de Xestor e Creador de cursos, como veremos máis adiante

En Moodle 2.x as asignacións de permisos que faremos habitualmente nos centros son as seguintes, que veremos con detalle máis adiante:

  • Administradores do sitio. Serán os usuarios que terán as capacidades precisas para administrar a totalidade da aula virtual
  • Xestor no contexto do sistema. Serán usuarios que terán as capacidades precisas para organizar o contido da aula virtual.
  • Creador e cursos no contexto do sistema. Serán usuarios que poderán crear cursos en calquera categoría.
  • Profesores (editores ou non) no contexto de curso. Cada curso terá normalmente un usuario ou varios responsables de crear os contidos e xestionar o curso.
  • Estudantes no contexto de curso. Cada curso debe ter matriculados aos usuarios que xogan o papel de alumnado.

Configuración de permisos

Normalmente non deberiamos entrar na configuración dos permisos ou capacidades que ten cada rol, pero imos velo de xeito teórico para comprender como traballa Moodle.

Na configuración de permisos de cada rol de Moodle, temos unha lista con tódolos permisos. Cada un deles defínese cun dos seguintes catro valores posibles:

  • HERDAR(“Non establecido”): O usuario terá este permiso se o ten concedido nun contexto superior.
  • PERMITIR: Concédese o permiso para este contexto e os contextos inferiores.
  • PREVENIR: Anula o permiso se estivera concedido nun contexto superior.
  • PROHIBIR: Anula a concesión do permiso en calquera contexto inferior.

Podemos representar a interacción entre estes valores na seguinte táboa. Supoñamos un usuario que ten asignado o Rol 1 nun contexto superior, e o Rol 2 nun contexto inferior. E para un Permiso X concreto temos tres combinacións distintas dos catro valores posibles do permiso entre ambos roles. En que casos ten ou non ten o usuario efectivamente ese permiso no contexto inferior? Vémolo na seguinte imaxe:

Configuración de permisos

Figura: Interacción entre os permisos e os contextos

Anulación de permisos

En cada un dos contextos de Moodle, ademáis de asignar roles aos usuarios, podemos tamén definir anulacións de permisos para cada rol. Unha anulación de permisos é unha configuración concreta de permisos para un rol nun contexto, que anula a configuración de permisos que o usuario tivera adquiridos para ese contexto. Por exemplo, o rol de estudante ten permisos para crear temas de debate nos foros, pero se queremos anular este permiso para un curso concreto, estableceremos unha anulación no contexto dese curso para o rol de estudantes, prohibindo a creación de temas de debate nos foros.