栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

laravel 权限控制

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

laravel 权限控制

在用户表中添加角色id,根据角色id获取用户角色,如果时一个角色则不用创建中间表,否则需要创建中间表。

根据角色id获取到用户所拥有的角色,根据角色和权限的中国表获取到角色所拥有的权限id,根据权限id获取到用户的权限范围,

$node_id = role_node::where('role_id', $role['id'])->get()->toArray();
  $res = [];
        foreach ($node_id as $v) {
            $res[] = node::where('id', $v['node_id'])->first()->toArray();

        }

这里获取的$res就是查询到的用户权限,存入session中,再中间件中读取用户目前所拥有的权限,

这是获取的用户权限

 

在展示主页中读取用户的权限,使用递归或者三级联动,读取的是之前获取后放在session的权限

  $res = Cache::get('auths');
        $rbac = rbac::data($res);
        return view('index', ['list' => $rbac]);

递归:

 public static function data($data,$pid=0)
        {
            $res=[];
            foreach ($data as $v){
                if ($v['pid']==$pid){
                    $res[$v['id']]=$v;
                    $res[$v['id']]['son']=self::data($data,$v['id']);
                }
            }
            return $res;
        }

然后把获取到的权限展示在首页上。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/996657.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号