要想实现 Spring Security 返回 JSON 格式串,只需重写以下几个处理器(JavaConfig)
- http.exceptionHandling().accessDeniedHandler()
- http.exceptionHandling().authenticationEntryPoint()
- http.formLogin().successHandler()
- http.formLogin().failureHandler()
- http.logout().logoutSuccessHandler()
最终实现的效果为:
//登录失败(账号不存在)
{
"code":1,"message":"User is disabled"}
//登录失败(密码错误)
{
"code":1,"message":"Bad credentials"}
//登录成功
{
"code":0,"message":"登录成功"}
//访问拒绝
{
"code":1,"message":"Access is denied"}
//注销成功
{
"code":0,"message":"已注销"}
//未经授权就访问资源
{
"code":1,"message":"Full authentication is required to access this resource"}
(1)build.gradle 添加项目依赖
compile 'org.springframework.security:spring-security-web:4.2.3.RELEASE'
compile group: 'org