SpringSecurity
AuthenticationSuccessHandler 登录成功处理类
AuthenticationFailureHandler 登录失败处理类
此二类都可自己做继承实现
(1)SimpleUrlAuthenticationFailureHandler 默认的处理逻辑就是通过重定向跳转到登录页
面,当然也可以通过配置 forwardToDestination 属性将重定向改为服务器端跳转,failureUrl 方
法的底层实现逻辑就是 SimpleUrlAuthenticationFailureHandler。
(2)ExceptionMappingAuthenticationFailureHandler 可以实现根据不同的异常类型,映射
到不同的路径。
(3)ForwardAuthenticationFailureHandler 表示通过服务器端跳转来重新回到登录页面,
failureForwardUrl 方法的底层实现逻辑就是 ForwardAuthenticationFailureHandler。
(4)AuthenticationEntryPointFailureHandler 是 Spring Security 5.2 新引进的处理类,可以
通过 AuthenticationEntryPoint 来处理登录异常。
(5)DelegatingAuthenticationFailureHandler 可以实现为不同的异常类型配置不同的登录
失败处理回调。
登录信息获取
1:从 SecurityContextHolder 中获取
@RestController
public class UserController {
@GetMapping("/user")
public void userInfo() {
Authentication authentication =
SecurityContextHolder.getContext().getAuthentication();
String name = authentication.getName();
Collection<? extends GrantedAuthority> authorities =
authentication.getAuthorities();
System.out.println("name = " + name);
System.out.println("authorities = " + authorities);
}
}
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=h.csdnimg.cn%2Fdirect%2Fa8848e5fb5e441c09a7291fe7c1345aa.png&pos_id=img-BlxJD4AQ1c09a7291fe7c1345aa.pn8
2:从当前请求对象中获取。