zeromemos
最好的学习方法就是输出所学的知识

Spring Security权限校验流程

在认证之后http://www.zeromemos.com/index/article/read.html?id=367

1、进行登录,登录时候,根据用户名查询用户操作权限,查询当前登录用户操作权限数据放到Redis

key: username

value:权限数据

2、校验时候,从请求头获取token字符串,从token获取username,拿着username到redis查询权限数据


修改内容http://www.zeromemos.com/index/article/read.html?id=367

1、修改loadUserByUsername接口方法,根据用户名(userld)查询用户操作权限数据,封装返回


http://www.zeromemos.com/index/article/read.html?id=375

2、修改TokenLoginFilter,增加权限数据部分,获取当前登录用户的权限数据,把权限数据放到Redis里面。

http://www.zeromemos.com/index/article/read/id/375.html

key: username

value:权限数据

3、修改TokenAuthenticationFilter,从请求头获取token,从token获取username,从token获取username,拿着username到Redis查询权限数据

http://www.zeromemos.com/index/article/read.html?id=377

4、修改配置类,添加Redis部分

http://www.zeromemos.com/index/article/read/id/378.html

5、在controller添加权限判断注解 @PreAuthorize("hasAuthority('bnt.sysRole.list')")


Redis依赖要引入配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
spring:
  redis:
    host: localhost
    port: 6379
    database: 0
    timeout: 1800000
    password:
    jedis:
      pool:
        max-active: 20 #最大连接数
        max-wait: -1    #最大阻塞等待时间(负数表示没限制)
        max-idle: 5    #最大空闲
        min-idle: 0     #最小空闲
评论区

关于我们

本站主要用于记录个人学习笔记,网站开发中,如需以前站内资料请加QQ群272473835索取。注册账号仅提供回帖功能,可不注册!

微信公众号