后台菜单如何根据用户不同的权限显示?

后台的菜单如何根据用户不同的权限去显示?
显示如下:

  • 1.后台首页
  • 2.系统配置
    • 2.1 网站配置
    • 2.2.缓存设置
  • 3.文章管理
    • 3.1文章分类
    • 3.2文章列表
  • 4.用户管理
    • 4.1 用户等级
    • 4.2 用户列表

管理员1: 所有权限【1, 2.1】
显示如下

  • 1.后台首页
  • 2.系统配置
    • 2.1 网站配置

管理员2 : 所有权限【1, 3.1, 4.2】
显示如下

  • 1.后台首页
  • 3.文章管理
    • 3.1文章分类
  • 4.用户管理
    • 4.2 用户列表

根据用户的不同权限,显示对应的的菜单。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 5
liyu001989

比如有 用户管理 权限的用户就能看到 用户管理 链接, 那么就是在显示链接的地方判断一下用户是否有这个权限啊。

5年前 评论

@liyu001989 那我是不是可以理解陈个,在要渲染后台菜单的时候,先读取登录进来用户的所有权限,在foreach 菜单的时候,判断这个菜单该用户是否有权限,有显示,没有不显示?

5年前 评论
liyu001989

可以啊

5年前 评论

我是 foreach 读取 config/menus.php 菜单配置文件。我链接、权限写在 config/menus.php 里的数组,然后前台 foreach 读取 config/menus.php 判断权限显示。但只能把链接写死,不能直接在 config/menus.php 里写路由 route('name') 提示找不到路由(存在的) ,也不能写 {{route('name')}} 发给前台,因为解析不了……这种情况要怎么解

5年前 评论

@weed 我没有把菜单写在文件里,spatie/laravel-permission 在这个基础上给permission 表增加了一个字段,is_menu,用户登录后,把是is_menu 是 1的读取出来,然后把用户的所有的权限读取出来,在foreach 菜单的时候进行判断,把没有权限的菜单去掉,然后分配给模版

5年前 评论
xushulang 4年前

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