前言
本系列博客基于B站的云e办管理系统,前端和后端我都自己敲了一遍,这里做一个学习记录。云e办的原始视频链接如下:https://www.bilibili.com/video/BV1Ai4y1P7Tk?p=1
给Admin实体类添加角色字段,修改获取权限的方法,即根据用户名获取权限列表。
服务类定义根据用户id查询角色列表的方法。
服务实现类实现
RoleMapper接口定义查询方法
Mapper.xml文件实现查询语句,根据用户查询对应的角色。
去登录的Controller里面修改获取登录用户信息的方法,添加设置用户角色的方法。
去SpringConfig配置类里面修改登录的逻辑,也给它设置用户角色的方法。
新建配置类加上@Component注解。
判断当前请求url的角色。首先获取当前url请求的角色,和CustomFliter里面定义的未登录角色匹配,如果匹配成功,并且它这个请求的权限是AnonymousAuthenticationToken类型,说明没有登录。在CustomFliter里面判断了请求url的角色的菜单是否和sql表中的请求字段匹配,若是匹配失败,说明用户需要登录才能访问。
其次是判断登录的角色是否能够发送这个url请求,将登录的用户对应的角色和请求url需要的角色做一个匹配,匹配失败,返回一个权限不足的信息。
package com.xxxx.server.config.security;
import org.springframework.security.access.AccessDecisionManager;
import org.springframework.security