针对中间件判断角色权限的疑惑,求大佬指点一番~
菜单 规则curd 角色curd 管理员curd 及这些分配权限都已经做好了;使用的是三张表;
现在创建一个中间件,就是检测是否有操作权限的,由于在写的过程中;出现了很多困惑的地方;
我的想法是 :我在检测操作权限的中间件里 ,一次性把当前登录的管理员角色和所有权限都取出来;然后通过url请求访问的 控制器方法 in_array()判断是否在该数组里面,从而拥有相应的操作权限;
那么问题来了, 在后台用户 点击 菜单导航的时候,都是通过路由{{route('goods.delete')}}生成的url地址,所以我菜单的路由也是存的laravel路由里写的;当我 菜单添加 商品删除的路由时,就是 /goods/delete/{id},所以我数据库也是这样存的url; 可是 操作删除编辑的时候 就会 权限 没法判断了;因为删除某个商品 都是 /goods/delete/1 ;而数据库存的url是/goods/delete/{id}; 我项目 路由的话 在后面 加了 name('goods.delete');
这样的情况的话 我是不是没办法做权限判断了?求大佬指点一番
本作品采用《CC 协议》,转载必须注明作者和本文链接
@lchola 我layer.open 弹出的编辑页面,所以地址是/goods/delete/1;用route('goods.delete',['id'=>"+res.id+"]) id无法解析,解析成字符串了;所以用 的 /goods/delete/1; 那in_array('/goods/delete/1',$list);这个$list 里有 url /goods/delete/{id} 这没法判断了
@lchola
ajax删除,请看《电商实战》这本书,有一样的例子
@还有谁 我后台全是数据表格的, 数据表格的 layer.open 弹出页面表单层,类似 fast-admin 这开源后台,就 死活 用 {{route()}} 把id拼接进去 放这里面就死活解析不出来,暂时只能这样 /admin/edit/1