我半年前开始使用MVC模式,但仍有一些误解。
现在我想在我的应用程序中实现基于角色的访问控制。然而,我的问题不是关于RBAC,而是关于MVC。
我的RBAC实现如下: 用户->角色->权限 因此,每个用户(例如userA)可以拥有多个角色(例如reader,editor,admin),每个角色可以拥有多个权限(读取、更新、删除等)。
MySQL表格
- users(用户列表)
- roles(角色列表)
- permissions(权限列表)
- roles_permissions(角色-权限连接列表。例如editor->update)
- users_roles(用户-角色连接列表。例如userA->editor)
现在我的问题是 我应该如何在MVC中实现这个?是否应该为:用户、角色、权限、角色_权限、用户_角色创建单独的模型,然后再创建一个authManager类?这种方式正确吗?是否有更好、更优雅的方式?