扫码阅读
手机扫码阅读

​SpringSecurity-5-自定义登录验证

176 2024-07-19

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:​SpringSecurity-5-自定义登录验证
文章来源:
springboot葵花宝典
扫码关注公众号

默认登录成功失败跳转页

Spring Security 默认的登录成功处理器为 SimpleUrlAuthenticationSuccessHandler,其 defaultTargetUrl 默认为 /,导致登录成功后会跳转到主页(如 index.html)。登录失败时,默认使用 AuthenticationFailureHandler 跳转到配置的 failureUrl

为什么自定义登录验证结果处理场景

自定义登录结果处理通常是因为需要后端返回JSON数据,或者需要根据不同用户登录后跳转到不同页面。

自定义登录成功的结果处理

通过实现 AuthenticationSuccessHandler,可以创建自定义的成功处理器,如 MyAuthenticationSuccessHandler,返回JSON数据。也可以继承 SavedRequestAwareAuthenticationSuccessHandler 来记住用户原请求路径,并在登录成功后跳转到该路径,可以通过配置文件设置返回类型为HTML或JSON。

自定义登录失败的结果处理

自定义登录失败处理器 MyAuthenticationFailureHandler 实现了 AuthenticationFailureHandler 接口,返回JSON数据。另外,继承 SimpleUrlAuthenticationFailureHandler 的处理器可以简化代码,通过配置决定是返回JSON数据还是跳转到登录页面。

自定义权限访问异常结果处理

MyAuthenticationEntryPointMyAccessDeineHandler 分别用于处理匿名用户无权限访问和认证用户无访问权限的情况,均返回JSON格式的错误信息。

想要了解更多内容?

查看原文:​SpringSecurity-5-自定义登录验证
文章来源:
springboot葵花宝典
扫码关注公众号