关于权限 RBAC 的问题,求指点一点

之前用的TP 用的RBAC是 通过路由地址来判断当前用户是否有权限来访问
接触了下laravel Permission ,学了好几天了,感觉这个不像是通过路由地址啊
问题list:
1.需要每个里面都要写中间件来做到权限的控制么?
2.这样怎么做到扩展性呢? 比如用户自己来操作当前是否可以访问?
迷迷糊糊的,可能脑子不好使吧。希望有缘人给讲下

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 3
南城以南

首先 你之前学习TP的 可能接触这个有点问题。因为laravel-permission是基于laravel的。
然后就是 假设你懂laravel 一一回答你的问题
1.laravel内部通过授权策略等实现,TP你要自己加中间件。
2.Laravel-permission中的表结构分别有角色/权限/权限角色表/用户权限表/用户角色表 加上自己的用户实体表。
简单来说 用户分配角色 角色分配权限 那么用户就有当前分配角色的权限了。
也可以直接给用户分配权限。
而这个权限在权限表存储的是一个字符串 如edit user。这个语义化的字符串可以标识是什么操作,在你后台编辑用户操作的时候 通过这个字符串看当前用户存在edit user权限与否,来决定是否返回 无权限 的状态。
以上。

4年前 评论
liuhaiqiang999 (楼主) 4年前
liuhaiqiang999 (楼主) 4年前

你是不是在改造一个TP的项目,用户登陆授权遇到了一些问题,还付费质询了,感觉你和他很像。

4年前 评论

可以用PHP-Casbin啊,https://github.com/php-casbin/php-casbin
支持Laravel的扩展Laravel-Authz:https://github.com/php-casbin/laravel-auth...
支持rbac、通过地址验证权限、restful、中间件等,或许比 laravel Permission更适合你。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!