我即将用Laravel开发一个管理web应用程序。
我需要我的用户有不同的角色和不同的权限。
详细信息:一些用户可以添加客户,一些用户可以撰写与客户相关的论文,一些其他用户可以阅读该论文,而一些其他用户只能阅读该论文的某些部分。
因此,为了获得一定的灵活性,我决定使用RBAC方法。我将使用这个DB模式(只是一个示例模式,但代表了我的应用程序的需求(:
数据示例
我的答案是:既然用户和纸张、客户、附件等之间有直接的关系,那么RBAC规则是如何表达的?当用户请求操作或资源时,我必须在前端检查他的权限?或者,即使在后端级别,也有表达这种规则的方法?也许使用一些GRANT选项?
希望斯比能帮忙。非常感谢。
我建议您使用一个已经可用的RBAC包,其中有一些,但值得注意的是:
- 空间权限
- Laratrust
您可以定义角色(如User
和Customer
(,权限(如can-write-paper
和can-read-paper
(,并根据您的用例将它们分配给角色或单个用户。