在当下很多的互联网项目中,除了少数的管理类型、CRM、OA办公等类型的项目其他的基本上都使用的是前后端分离开发模式,在前后端分离模式下使用SpringSecurity跟之前最大区别在于认证处理方式的变化。
未分离开发模式下,页面的跳转、重定向、自定义登录错误等页面的这些都是在后端实现的
前后端分离模式下,后端因为只负责处理接口数据,不负责页面处理,并且接口数据基本上都是使用json格式,前端大多使用的是ajax封装的ajax请求,所以我们使用上还是有一些区别
因为是基于前后点分离模式开发,所以我们需要修改我们核心配置类WebSecurityConfigurerAdapter
的实现类,使其变成json交互方式支持。
我们先创建json返回数据统一结构
![](https://i-blog.csdnimg.cn/blog_migrate/975c20d55b618f659fac4e38abb3e4a3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7ee52c580a2c2fe3e65f0f80ce88abdd.png)
因为是json的交互,所以对于登录成功,失败、注销、权限不足、未登录的处理将不再使用页面跳转展示,二十采用Handler回调返回json结果处理方式
![](https://i-blog.csdnimg.cn/blog_migrate/e8125a94c5b117afc3ed772711e922b8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3232d315f815ad96ded05b241e54a22f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c214c666f217a7ec85428f267fedb25d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d7e93a7ace63a98b0ac79120bcf33a32.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ca4a0e7e2720b2ebec39da40b4035366.png)
修改WebSecurityConfig配置类
![](https://i-blog.csdnimg.cn/blog_migrate/97ed7490c2a7faf6b73b4e3ea1baee50.png)
![](https://i-blog.csdnimg.cn/blog_migrate/817cab60d94c5091f5eccfdba80fefac.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e89154f270366ae1ec17b1a68aafa39d.png)
测试,因为是前后端分离开发的模式所以也就不使用IDEA中页面测试了,这里我们使用PostMan进行接口测试。我们先访问“/user/getUserlnfo”接口,如下:
![](https://i-blog.csdnimg.cn/blog_migrate/ad023a1c5c9ca5ac68705c345fff997e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35c745d7e7257addf67ac229dad0ff4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b0a839b336a9bfed706779737c72c3be.png)