Compañeros, Tengo el inconveniente en un cliente, en donde tiene un usuario con 4 roles y cada rol tiene diferentes permisos sobre opciones del portal. El Rol 1 tiene permisos para la opción de solicitud solamente para autorizar o denegar el flujo. El Rol 2 no tiene permisos sobre la opción que el Rol 1 tiene. El Rol 3 tiene permisos para la misma opción que el rol 1 solamente que los permisos son completos (puede crear, editar, eliminar, autorizar o denegar). El 4 no tiene permisos sobre la opción que el Rol 1 y 3 tienen. Ahora cuando voy a crear un registro en esa opción me indica que no tengo permisos para crear, pero si le quito uno de los Roles, ya sea el 2 o 4 si me deja grabar el registro. Cabe mencionar que la opción a la que le estoy dando permiso es una pantalla de un plugin, no es de las pantallas de solicitudes que trae por default Evolution. Tendrá esto que ver? |
Hice una prueba con estos 3 roles sobre la entidad de Ingresos Eventuales:
Asigné estos 3 roles a un usuario y el resultado fue que tenía acceso completo a la opción gracias al Rol 1 aunque el rol 2 y el rol 3 sean limitantes. De igual forma tenía acceso a la Empresa 1 gracias al Rol 3 Como menciona Fernando, habría que revisar si el plugin está haciendo uso de la seguridad como el resto de opciones de Evolution |
En teoría que sea de plugin no debería afectar, ya que el cálculo de permisos lo realiza la insfraestructura de Evolution. La única manera que el plugin tuviera responsabilidad es que explicitamente delegara el permiso en otras acciones del mismo controlador o de otros controladores. Para verificarlo habría que revisar el código fuente del Plugin.
El funcionamiento de Evolution es hacer una union de conjuntos con los permisos a los Controllers/Actions, asociados a los roles a los que pertenece el usuario; este ha sido el funcionamiento desde siempre.