Empecé a utilizar el patrón MVC hace medio año y todavía tengo algunos malentendidos.Control de acceso basado en roles: patrón MVC correcto
Ahora quiero implementar un control de acceso basado en funciones en mi aplicación. Sin embargo, mi pregunta no es sobre RBAC, se trata de MVC.
Mi implementación de RBAC es la siguiente: usuario-> roles> permiso por lo que cada usuario (por ejemplo userA.) Puede tener muchos papeles, y cada papel puede (ex lector, editor, Admón.) tener muchos permisos (leer, actualizar, eliminar, etc.).
tablas MySQL
- usuarios (lista de usuarios)
- funciones (lista de roles)
- permisos (lista de permiso)
- roles_permissions (lista de roles-> conexiones de permisos ej. editor-> actualización)
- users_roles (lista de usuarios-> roles conexiones, por ejemplo, userA-> editor)
Ahora mi pregunta es ¿Cómo debo implementar esto en MVC? Tenga un modelo separado para: usuarios, roles, permisos, roles_permissions, users_roles, que tengan una clase authManager que cree usuarios, roles, permisos, roles_permissions y user_roles. ¿Es así? ¿Hay una manera mejor, quizás más elegante?