Version 2, last updated by franiglesias at December 16, 2009 22:11 UTC
Reglas de acceso
Rule (Reglas de Acceso)
Las reglas de acceso (Rule) nos permiten definir cómo pueden acceder los usuarios a los recursos de la aplicación, tanto acciones como objetos.
Tienen las siguientes propiedades
- id
- name
- subject_class
- subject_fk
- action
- object_class
- object_fk
- permission
- precedence
Name
Es una descripción textual para humanos breve del contenido o función de la regla.
Action
La acción a la que afecta la regla. Se define con una cadena de texto de la forma
/:plugin/:controller/:action
Por ejemplo:
/contents/channels/admin_index
Se puede usar el carácter % como comodín para definir conjuntos de acciones, por ejemplo en:
/:plugin/:controller/%
La regla haría referencia a cualquier acción del controlador indicado.
Ejemplos
/channels/%
%/items/%
Subject_class
La clase del "sujeto" de los permisos de acceso de la regla. Puede ser User o Group.
Subject_fk
El identificador único del sujeto. Para indicar que vale para todos los sujetos se usa el comodín %
Object_class
La clase del objeto sobre el que el sujeto tiene permisos de acceso. Se puede usar el comodín % para indicar que la regla se aplica a cualquier tipo de objeto.
Object_fk
El identificador único del objeto sobre el que se tienen permisos de acceso. Se puede usar el comodín %.
Permission
Puede tomar los valores: 1 (allow, permitir) o 0 (deny, denegar). Indica si el sujeto tiene acceso a ese objeto y/o acción.
Precedence
Se trata de un valor que permite al sistema ordenar las reglas para determinar el si un sujeto tiene acceso a una acción, objeto o conjunto de objetos. La precedencia tiene especial importancia cuando se combinan reglas y algunas permiten el acceso y otras lo deniegan.
Este valor se establece en el momento de creación de las reglas y tiene cuatro niveles, de mayor a menor:
RULE_SYSTEM: Son las reglas por defecto del sistema y nos aseguran que existe un grupo de usuarios root con acceso total, así como que los usuarios registrados tienen acceso a las acciones de acceso a su cuenta. También nos permite fijar un acceso mínimo.
Estas reglas se crean al iniciar el sistema.
RULE_OWNER: Cuando un usuario crea un objeto se convierte en su propietario, con todos los derechos de acceso a ese objeto.
Estas reglas se crean cuando se crea un objeto.
RULE_INDIVIDUAL: Son reglas que pueden definir los administradores y que afectan a un usuario específico.
RULE_POLICY: Son reglas que pueden definir los administradores y que afectan a un grupo específico.