AMD|Spring Security认证处理器(五)

AMD|Spring Security认证处理器(五)

文章图片

AMD|Spring Security认证处理器(五)

文章图片

AMD|Spring Security认证处理器(五)

文章图片


上一篇文章介绍了security自定义登录页面以及相关参数设置 , 这篇文章介绍一下security中认证处理器 。 之前学习了用户认证成功或者失败时候 , 可以设置跳转的页面 , 但是跳转的页面只能是在同一个应用程序里面 , 假设要跳转到站外链接或者需要自定义响应数据 , 那就无法通过设置跳转链接实现 。 所以security提供了认证处理器 , 认证处理器分为认证成功处理器、认证失败处理器两种 。
一、认证成功处理器security中认证成功处理器只需要创建一个类 , 实现 AuthenticationSuccessHandler 接口 , 然后重写里面的 onAuthenticationSuccess() 方法 , 在该方法中自定义认证成功的处理逻辑 , 最后在security配置类中配置 successHandler() 认证成功处理器即可 。
下面就编写一个认证成功后 , 响应json数据的案例 。
【AMD|Spring Security认证处理器(五)】因为是响应json格式数据 , 所以这里需要引入fastjson依赖 。

创建【MyLoginSuccess】类 , 实现【AuthenticationSuccessHandler】接口 , 重写【onAuthenticationSuccess】方法 。

在security配置类【MySecurityConfig】中 , 指定认证成功处理器 。

上面就配置好了认证成功处理器 。 既然有认证成功处理器 , 那就有认证失败处理器 , 下面介绍认证失败处理器 。
二、认证失败处理器和认证成功处理器类似的 , security中认证失败处理器也是需要创建一个类 , 实现 AuthenticationFailureHandler 接口 , 然后重写里面的 onAuthenticationFailure() 方法 , 在该方法中自定义认证失败的处理逻辑 , 最后在security配置类中配置 failureHandler() 认证失败处理器即可 。
编写【MyLoginFailure】类 , 实现【AuthenticationFailureHandler】接口 , 重写【onAuthenticationFailure】方法 。

在security配置类【MySecurityConfig】中 , 指定认证失败处理器 。

启动工程 , 分别测试当登录成功时候返回的数据和登录失败时候返回的数据 。 如下所示:

以上就是security框架中 , 自定义认证成功和失败处理器 。 可以看到 , 前面几篇文章都是基于表单认证的 , 那么在前后端分离的模式下 , 前后端交互都是通过json数据进行交互的 , 所以下一篇文章介绍一下 , 前后端分离模式下自定义认证逻辑 。
这是我的第83篇文章 , 谢谢大家阅读 。