关于权限 RBAC 的问题,求指点一点
之前用的TP 用的RBAC是 通过路由地址来判断当前用户是否有权限来访问
接触了下laravel Permission ,学了好几天了,感觉这个不像是通过路由地址啊
问题list:
1.需要每个里面都要写中间件来做到权限的控制么?
2.这样怎么做到扩展性呢? 比如用户自己来操作当前是否可以访问?
迷迷糊糊的,可能脑子不好使吧。希望有缘人给讲下
首先 你之前学习TP的 可能接触这个有点问题。因为laravel-permission是基于laravel的。
然后就是 假设你懂laravel 一一回答你的问题
1.laravel内部通过授权策略等实现,TP你要自己加中间件。
2.Laravel-permission中的表结构分别有角色/权限/权限角色表/用户权限表/用户角色表 加上自己的用户实体表。
简单来说 用户分配角色 角色分配权限 那么用户就有当前分配角色的权限了。
也可以直接给用户分配权限。
而这个权限在权限表存储的是一个字符串 如edit user。这个语义化的字符串可以标识是什么操作,在你后台
编辑用户
操作的时候 通过这个字符串看当前用户存在edit user权限与否,来决定是否返回无权限
的状态。以上。
你是不是在改造一个TP的项目,用户登陆授权遇到了一些问题,还付费质询了,感觉你和他很像。
可以用PHP-Casbin啊,https://github.com/php-casbin/php-casbin
支持Laravel的扩展Laravel-Authz:https://github.com/php-casbin/laravel-auth...
支持rbac、通过地址验证权限、restful、中间件等,或许比 laravel Permission更适合你。