Perfiles Funcionales
Los perfiles permiten agrupar derechos y restricciones a acceder en determinados elementos de un proyecto. Un usuario puede pertenecer a distintos perfiles de acceso
Partes de un perfil
Acceso a operaciones
El nivel de acceso que maneja Toba con respecto a una operación como un todo es su acceso. Es decir el framework determina si el usuario tiene o no permiso de acceso sobre una operación en base a los perfiles asociados. La validación es doble:
- El Vinculador no brinda vinculos a operaciones que sabe de antemano que no puede ejecutar el usuario actual. Esto no aumenta el nivel de seguridad, sino que es más bien una sanidad gráfica, de no brindar opciones que luego el usuario no pueda utilizar.
- El núcleo de toba no permite que una operación pueda ser ejecutada por un usuario en cuyos perfiles no esté contemplado.
Restricciones Funcionales
Derechos
Con el fin de que los proyectos puedan validar permisos en puntos específicos de sus operaciones existe una sección de derechos en el editor. En esa sección se define un identificador del derecho, un mensaje y los perfiles a los cuales se les otorga. Luego en cualquier punto del código es posible verificar un derecho específico contra el usuario actual
if (toba::derechos()->validar('alta_contrato')) {
//Realiza el alta
}
Ver la documentación del método validar.
Almacenamiento de metadatos
A partir de la versión 1.2 de Toba existe la posibilidad de editar los
perfiles funcionales del lado mismo del proyecto en un entorno de
desarrollo (usando toba\_editor
) o en un entorno de producción (usando
toba\_usuarios
). La forma de indicar uno u otro modo es en
instalacion.ini
es_produccion = 1
Cuando se edite al menos un perfil funcional estando la aplicación en producción, se indica automáticamente en instancia.ini
[mi_proyecto]
usar_perfiles_propios = 1
La combinación de estos dos flags permite que la exportación de perfiles
se haga en la carpeta
$toba_dir/instalacion/i__instancia/p__proyecto/perfiles
en lugar de la
carpeta usual proyecto/metadatos/permisos
. Cuando se actualiza el
sistema se toma este nuevo lugar para intentar insertar los perfiles
definidos localmente.