springboot整合security的问题解决

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/imHanweihu/article/details/81668946

springboot今天整合了spring security安全框架,整合过程中坑很多:
1.There is no PasswordEncoder mapped for the id "null",是因为security版本升级问题  
2.CSRF机制,只有GET|OPTIONS|HEAD|TRACE|CONNECTION可以通过,这个问题导致,我认为是mybatis和jpa访问数据库冲突,结果不是,网上查到的资料不能解决此问题,所以我http.csrf().disable(); // 禁用CSRF机制,只有禁用除GET的其他请求才可以通过访问
3.解决静态资源被拦截的问题,项目的css及其他静态资源也会被拦截,在WebSecurityConfig配置类中增加配置解决问题
4.权限分配问题:WebSecurityConfig增加@EnableGlobalMethodSecurity(prePostEnabled = true)注解,意思是开启security注解,可以直接在controller的方法上声明注解,可以进行角色拦截,controller上加@PreAuthorize("hasRole('ROLE_ADMIN')")// 只有管理员才可以请求用户管理

猜你喜欢

转载自blog.csdn.net/imHanweihu/article/details/81668946