首页 > 其他 > 详细

发送短信验证码

时间:2021-05-24 00:54:56      阅读:20      评论:0      收藏:0      [点我收藏+]

 

package com.example.demo;

import java.time.LocalDateTime;

public class SmsCode {

    private String code;

    private LocalDateTime expireTime;

    public SmsCode(String code, int expireIn) {
        this.code = code;
        this.expireTime = LocalDateTime.now().plusSeconds(expireIn);
    }

    public SmsCode(String code, LocalDateTime expireTime) {
        this.code = code;
        this.expireTime = expireTime;
    }

    public boolean isExpire(){
        return LocalDateTime.now().isAfter(expireTime);
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public LocalDateTime getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(LocalDateTime expireTime) {
        this.expireTime = expireTime;
    }
}

 

 

 

import org.springframework.web.context.request.ServletWebRequest;


public interface ValidateCodeGenerator {

    ValidateCode generate(ServletWebRequest request);
    
}

 

 

import org.apache.commons.lang.RandomStringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.ServletWebRequest;

import com.imooc.security.core.properties.SecurityProperties;
import com.imooc.security.core.validate.code.ValidateCode;
import com.imooc.security.core.validate.code.ValidateCodeGenerator;

@Component("smsValidateCodeGenerator")
public class SmsCodeGenerator implements ValidateCodeGenerator {

    @Autowired
    private SecurityProperties securityProperties;
    
    @Override
    public ValidateCode generate(ServletWebRequest request) {
        String code = RandomStringUtils.randomNumeric(securityProperties.getCode().getSms().getLength());
        return new ValidateCode(code, securityProperties.getCode().getSms().getExpireIn());
    }

    public SecurityProperties getSecurityProperties() {
        return securityProperties;
    }

    public void setSecurityProperties(SecurityProperties securityProperties) {
        this.securityProperties = securityProperties;
    }
    
    

}

 

 

package com.example.controller;

import com.example.valicate.SmsCode;
import com.example.valicate.ValidateCode;
import com.example.valicate.ValidateCodeGenerator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.context.request.ServletWebRequest;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Controller
public class ValidateCodeController {
    @Autowired
    private ValidateCodeGenerator smsCodeGenerator;

    @GetMapping("/code/sms")
    private void CreateSmsCode(HttpServletRequest request, HttpServletResponse response) throws IOException{
//        SmsCode smsCode = smsCodeGenerator.generate(new ServletWebRequest(request));
        ValidateCode smsCode = smsCodeGenerator.generate(new ServletWebRequest(request));
    }

}

 

发送短信验证码

原文:https://www.cnblogs.com/mingforyou/p/14802535.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!