问答 / 1 / 10 / 创建于 2年前
实际的应用场景中,经常会涉及到越权的问题,一般会在数据库中增加所属人或所属角色来控制操作范围,然后通过增加筛选条件来达到防止越权的情况这样的话操作数据库模型,增删改查会越写越多我现在想得到一些更简单的方法来实现防止越权
不会吧,我这边是查询出一个人的所有权限,然后缓存30s。校验权限就用对应的id和这个list进行映射,成功就可以访问,失败就不能访问。我们这也有2000+基本单位的操作权限点了。感觉也没啥影响呀。
你不会每个地方都写了对应的权限点的查询吧。我这边是封装成中间件。中间件传递需要校验的id,然后中间价里通过user_id 和 perm_id 调用对应的权限校验方法。没权限就直接拦截了
Route::get('/url-path', 'Contoller@action')->middleware("check-user-perm:1234");
Policy
数据权限你当然是默认带着对应的id啊
权限和防止越权写在策略中去控制
Policy 了解一下
我要举报该,理由是:
不会吧,我这边是查询出一个人的所有权限,然后缓存30s。校验权限就用对应的id和这个list进行映射,成功就可以访问,失败就不能访问。我们这也有2000+基本单位的操作权限点了。感觉也没啥影响呀。
你不会每个地方都写了对应的权限点的查询吧。我这边是封装成中间件。中间件传递需要校验的id,然后中间价里通过user_id 和 perm_id 调用对应的权限校验方法。没权限就直接拦截了
数据权限你当然是默认带着对应的id啊
权限和防止越权写在策略中去控制
Policy 了解一下