整合过程参考的以下博文
https://blog.csdn.net/Canon_in_D_Major/article/details/79688441
本人初次尝试spring security,只讨论问题解决办法,不求甚解
在整合过程中遇到的问题:
- 在登录界面登录,后台返回登录成功的JSON信息后没有进入而是被拦截回登录页面,idea控制台打印用户权限为ROLE_ANONYMOUS,即匿名用户
原因分析:security没有调用识别用户身份的接口,即userDetailsService
解决办法:在SecurityConfig配置类下配置loginProcessingUrl:
.loginProcessingUrl(登录接口) - 在登录界面登录,后台返回的数据是/index.html页面。
原因分析:我实现了userDetailsService接口,在configure(HttpSecurity http)方法下配置loginProcessingUrl:
.loginProcessingUrl(登录接口)
,spring security调用了userDetailsService的loadUserByUsername方法,却把本应该被调用的登录处理接口覆盖了,于是返回的不是想要的数据。
解决办法:设置successForwardUrl:
.successForwardUrl(登录接口)
这样系统就会先用userDetailsService接口验证身份,再用自己设置的登录接口返回正确的json信息。
(注:.loginProcessingUrl(登录接口)和.successForwardUrl(登录接口)必须都有且url必须相同,否则不起效果)