码迷,mamicode.com
首页 > 编程语言 > 详细

spring security(二)

时间:2019-11-11 18:14:56      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:security   适应   生成   随机数生成   word   user   except   变化   name   

图形验证码和短信登录

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(二)

标签:security   适应   生成   随机数生成   word   user   except   变化   name   

原文地址:https://www.cnblogs.com/qq-7895/p/11586382.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!