
Cuando tengo varios usuarios que hacen exactamente las mismas tareas pero en centros, sociedades o áreas distintas, me conviene usar roles derivados. Armo un solo rol maestro o de referencia, donde defino el menú completo (transacciones, reports, enlaces, etc.) y las funciones que corresponden al puesto. A partir de ese rol maestro creo los roles derivados, que heredan toda la estructura del menú y las funciones, pero les cambio únicamente los niveles organizativos (centro, sociedad, área de negocio, etc.) para limitar las autorizaciones según dónde trabaja cada uno. Los roles derivados no heredan las asignaciones de usuarios, eso lo manejo aparte usuario por usuario.
El menú de los roles derivados no se toca directamente: sólo se puede modificar en el rol de referencia. Cada cambio que hago en el menú del maestro se replica en forma inmediata en todos los derivados, manteniendo la misma estructura para todos y evitando inconsistencias. Si en algún momento rompo la relación de herencia, el rol derivado deja de estar vinculado al maestro y pasa a comportarse como un rol normal e independiente; esa ruptura, en la práctica, no es algo pensado para “deshacer fácilmente” sino más bien para convertirlo en un rol separado