【发布时间】:2015-07-25 23:16:07
【问题描述】:
我已经为 ACL 层实现了委托角色。现在我计划自动检查每个请求的权限,这样每次我都不必为用户角色编写权限。
例如。我有公司资源,用户角色为“管理员”,他只能查看公司,另一个用户角色为“超级”可以管理公司。在数据库中,我为他们提供了适当的权限,但在中间件中检查权限,我打算实现这一点:
如果 url 变为:localhost/company/create - 在 DB 中的权限将是 create_company,并且将根据此权限检查当前登录的用户。
$user->can('create_company') OR
$user->can(['create_company', 'view_company']);
Que1:这是否可以通过中间件来实现,其中可以访问路由名称 eg.company.create、company.show(以便将点替换为 '_' 并且我们可以检查权限)?怎么样?
Que2:这是实现自动角色检查的好方法还是有其他更好的方法。
任何帮助/建议将不胜感激。
【问题讨论】:
标签: php permissions routes laravel-5 acl