权限管理-查询所有菜单(递归) | 学习笔记

简介: 快速学习 权限管理-查询所有菜单(递归)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)权限管理-查询所有菜单(递归)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/667/detail/11528


权限管理-查询所有菜单(递归)


目录:

一、代码启动

二、核心代码

三、检测


一、代码启动

启动项目,打开 serviceAcl,将以下服务启动起来:

package com.atguigu.aclservice;
import ...
@SpringBootApplication
@EnableDiscoveryClient
ComponentScan("com.atguigu"
@MapperScan("com.atguigu.aclservice. mapper"
public class ServiceAclApplication (
public static void main(String[] args) ( SpringApplication.run(ServiceAclApplication.clasg

启动之后,进行测试,看看最终能否得到树形结构的菜单效果。

使用 swagger 进行测试,端口号为8009

搜索:

http://localhost:8009/swagger-ui.html#/permission45controller,会发现有一行代码需要注释掉,就是这行代码:

package com.atguigu.aclservice;

import...

@SpringBootApplication

@EnableDiscoveryClient

@ComponentScan("com atguigu

@MapperScan("com. atguigu.aclservice. mapper

public class ServiceAclApplication (

public static void main(String[] args) (SpringApplication.run(ServiceAclApplication.class, ars

这个代码它表示如果路径中包含这个路径,接口是不会显示的,如果这句话没被注释掉,它的接口就不会显示,解决方案是修改名字,或者注释掉,否则将没有信息显示。


二、核心代码

//把返回所有菜单 list 集合进行封装的方法public static List<Permission bulidPermission (List<Permission> permissionList){

//创建 list 集合,用于数据最终封装 List<Permission> finalNode = new ArrayList< >():

//把所有菜单list集合遍历,得到顶层菜单 pid=0菜单,设置 level 1

for(Permission permissionNode : permissionList)(

//得到顶层菜单 pid=0菜单

if("o [equals(permissionNode.getPid()))(

//设置顶层菜单的 level 1

permissionNode.setLevel(1);

//根据顶层菜单,向里面进行查询子菜单,封装到finalNode里面finalNode.add(selectChildren(permissionNode,permissionList));


三、检测

用最一开始的方法,第一次比较便利,通过一级查二级,通过二级查三级,什么三级查四级类推,直到它最终没有数据。此时递归查询菜单就完成了。


相关文章
|
数据库 数据安全/隐私保护
手把手教你搞定菜单权限设计,精确到按钮级别,建议收藏(一)
在实际的项目开发过程中,菜单权限功能可以说是后端管理系统中必不可少的一个环节,根据业务的复杂度,设计的时候可深可浅,但无论怎么变化,设计的思路基本都是围绕着用户、角色、菜单进行相应的扩展。
4784 0
手把手教你搞定菜单权限设计,精确到按钮级别,建议收藏(一)
|
5月前
|
Linux 数据安全/隐私保护
查看权限控制信息,ls -l可以查看列表数据,展现权限细节,1号位表示权限细节,有10个槽位,第一个位置 -表示文件,d文件夹 | 软链接,前3部分表示所属用户权限,中间用户组权限,后部分其他用户权限
查看权限控制信息,ls -l可以查看列表数据,展现权限细节,1号位表示权限细节,有10个槽位,第一个位置 -表示文件,d文件夹 | 软链接,前3部分表示所属用户权限,中间用户组权限,后部分其他用户权限
查看权限控制信息,ls -l可以查看列表数据,展现权限细节,1号位表示权限细节,有10个槽位,第一个位置 -表示文件,d文件夹 | 软链接,前3部分表示所属用户权限,中间用户组权限,后部分其他用户权限
|
4月前
|
前端开发 数据库
Tree树形控件--删除分级菜单中的某一个、删除后的树形结构仍然是对应目录下的展开效果、二次删除确认、删除成功提示
这篇文章提供了一种删除Tree树形控件中分级菜单项的方法,包括实现流程、代码示例和操作效果展示,涉及二次确认和删除成功提示。
|
5月前
|
DataWorks 安全 Java
DataWorks操作报错合集之新建的子账户无法在数据开发查找表数据,报错显示没有权限,该如何处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
存储 前端开发 JavaScript
前端菜单及按钮权限拦截,实现方案及思路
此实现方案基于vue框架,并需要依赖vue项目相关的库,router、store等等;前端同学要与后端同学协商,常规是让后端返回一个树结构的菜单数据,并且将所有的涉及权限控制的页面path给到后端,如果是按钮,需要把所有的按钮 code 码统一下,这是前期工作,很重要。
|
5月前
|
监控
若依如何添加目录菜单,左边的内容,找到左侧目录系统管理下的菜单管理,上级菜单什么意思,创建好放哪里,这里的首页,系统管理,系统监控是主类目是并集 ,显示排序,值越小排名越靠前
若依如何添加目录菜单,左边的内容,找到左侧目录系统管理下的菜单管理,上级菜单什么意思,创建好放哪里,这里的首页,系统管理,系统监控是主类目是并集 ,显示排序,值越小排名越靠前
|
5月前
|
监控 数据安全/隐私保护
若依修改---功能详解--权限控制,demo超级管理员,可以查看所有功能菜单,zhangsan,登录之后,仅可以查看线索的菜单,不同角色岗位,登录查看的内容不同,若依通过用户管理,角色管理,菜单管理控
若依修改---功能详解--权限控制,demo超级管理员,可以查看所有功能菜单,zhangsan,登录之后,仅可以查看线索的菜单,不同角色岗位,登录查看的内容不同,若依通过用户管理,角色管理,菜单管理控
|
7月前
|
微服务
【若依】 若依框架 删除左侧无用菜单报错 ‘菜单已分配,不允许删除’
【若依】 若依框架 删除左侧无用菜单报错 ‘菜单已分配,不允许删除’
1361 2
|
7月前
使用递归的方式删除菜单
使用递归的方式删除菜单
39 1
|
数据安全/隐私保护 开发者 微服务
权限管理-删除菜单 | 学习笔记
快速学习 权限管理-删除菜单
128 0
权限管理-删除菜单 | 学习笔记