# Security **Repository Path**: junjie2019/Security ## Basic Information - **Project Name**: Security - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 对验证码的重构: 1.前端请求验证的url结构为/code/imageCode、/code/smsCode 2.通过路径参数得到imageCode、smsCode字段,在ValidateCodeProcessorHolder中通过这该字段找对应的ValidateCodeProcessor。ValidateCodeProcessor中维护了一个Map,如果维护??? 4.调用ValidateCodeProcessor,传入request和response完成验证码的创建于验证过程 验证码验证流程:生成验证码,将验证码发送给用户,将验证码通知给用户,提供输入框,让用户返回验证码 异步验证肯定还是需要的,我计划这么做我在ValidateCode上加一个Status状态,过滤器拦截验证的时候,先判断ValidateCode的Status是否是true,然后再比对值。 1.验证码生成器只负责验证码的生成 2.验证码生成后交给相应的验证码发送器进行发送 3.然后对收到的结果进行校验 如果我将所有的generator都取消,这样用户如果只想简单的修改一下验证码位数,得必须重新定义一个generator,在generator中修改生成长度。目前这种方案,如果用户只想简单的修改长度,则只需要在配置文件里进行一下配置。 generator的种类其实是比较少的,之所以还要为其针对每种 1.如果需要生成带中文汉字的验证码,需要继承ValidateCodeGenerator,重写其中的generate方法。 2.如果你想将你的验证码通过不同的渠道发送给你的用户,比如手机、QQ、微信、邮箱等,你需要实现ValidateCodeSender,重写其中的send方法。 3.从设计思路上讲一个Generator和一个Sender应该一套的,这两个工具通过一个Processor组合在一起,你用AGenerator生成验证码,你就需要通过ASender将该验证码发送给用户。 4.ProcessHolder是对所有Processor的管理