spring security

Posted cherishDouble

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring security相关的知识,希望对你有一定的参考价值。

图形验证码和短信登录

1.图形验证码

原理(无法改变核心逻辑,用的是spring security的默认流程)

写一个filter对验证码进行逻辑处理。并在BrowserConfig中将自定义filter加在 
UsernamePasswordAuthenticationFilter前面(ValidateCodeFilter extends OncePerRequestFilter);
 OncePerRequestFilter是保证Filter只会被调用一次。

准备( 1.根据随机数生成图片,2.将随机数存到Session中,3.将生成的图片写到接口的响应中)

  自定义图片验证码实体(ImageCode)
  自定义异常(ValidateCodeException extends AuthenticationException(所有认证异常的基类))
  自定义过滤器(ValidateCodeFilter extends OncePerRequestFilter)
  自定义验证码控制器ValidateCodeController()

重构图形验证码接口(思想:以增量的方式去适应变化)

验证码基本参数可配置
验证码拦截的接口可配置
验证码的生成逻辑可配置

验证码基本参数可配置

实现InitializingBean的目的是在其他参数都装载完毕后初始化拦截的urls集合,

验证码拦截的接口可配置
验证码的生成逻辑可配置

记住我功能


2.短信验证码(和用户名密码登录的逻辑不一样,所以就不能用spring security默认的核心处理流程,可以模拟默认的核心处理流程写一套)

开发短信验证码接口
校验短信验证码并登录
重构代码
短信验证码接口模拟表单的核心处理图:

重构代码中的验证码的重构思想:

以上是关于spring security的主要内容,如果未能解决你的问题,请参考以下文章

oauth2 spring-security 如果您在请求令牌或代码之前登录

Spring Security问题

Spring Security:如何获取自动渲染的登录页面代码?

springboot集成spring security实现restful风格的登录认证 附代码

spring security 匿名访问安全吗

如何使用 Spring Security @Secured 注解测试 Spring Boot @WebFluxTest