学习Spring boot 2.0 整合spring security 5.0.3笔记


今日学习spring boot的安全框架spring security ,做了个demo ,实现登录验证和访问授权功能,好记性不如烂博客,在此做个笔记!

先说遇到的坑吧:

1. PasswordEncoder 密码加密方式问题:There is no PasswordEncoder mapped for the id "null" 

2. auth.userDetailsService(customUserService()) 方式下的 new SimpleGrantedAuthority(roles.getRname()) roles前缀问题,roles的数据库里必须存成像:ROLE_admin,ROLE_user

必须要 ROLE_ 前缀, 因为 hasRole("user")时会自动加上ROLE_前缀变成 ROLE_user ,如果不加前缀一般就会出现403错误。

3. SysUser 和 Roles 实体类中的属性 name字段不能相同,一般可以是这样 SysUser - >>> sname , Roles ->>> rname 这样mybatis字段组装对象时不会出莫名的错误。

4. 自定义 SecurityConfig 实现 WebSecurityConfigurerAdapter 时在类名前加注解,@EnableWebSecurity  @EnableGlobalMethodSecurity(prePostEnabled = true)

   prePostEnabled = true 属性设置后控制器层的方法前的@PreAuthorize("hasRole('admin')") 注解才能起效。

 

代码:链接: https://pan.baidu.com/s/1mY1p50Fx7afDCTmEM9QOHA  密码: xyk4

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM