1、若依ruoyi cloud 验证码流程

/**

* 验证码流程:

* 1、前提为设置开启验证码,设置接口/code为网关白名单

*

* 2、前端请求接口/code 获取返回为:

* {

* "msg":"操作成功",

* "img":"/9j/4AAQSkqmVaNmKVWNmf/Z", //图像base64

* "code":200,

* "captchaOnOff":true,

* "uuid":"2ed47732c50b48b5980c5dbbcf800ad2"

* }

*

* 3、返回同时记录code到redis,记录形式为 uuid = code

* String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;

* redisService.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);

*

* 4、提交登陆请求,包含了填写的验证结果code和uuid:

* {

* username: "admin",

* password: "admin123",

* code: "2",

* uuid: "dcbeedcd858c4caa934ece00cacd311e"

* }

*

* 5、过滤器ValidateCodeFilter对验证码进行验证

* 取出

* code: "2",

* uuid: "dcbeedcd858c4caa934ece00cacd311e"

* 根据uuid为key反向到redis中进行比对,比对失败抛出异常。

*

* 6、后续转发到ruoyi-auth/auth接口进行登陆认证

* 登陆认证只用

* username: "admin",

* password: "admin123",

* 这两个参数。

*

* @author baijg

*  https://gitee.com/baijigan

*


@RestController
public class CodeController {
    @Autowired
    private ValidateCodeService validateCodeService;

    @SentinelResource("ruoyi-captcha")
    @RequestMapping("code")
    public AjaxResult getCode(){
        System.out.println("CodeController handle");
        AjaxResult ajax;
        try
        {
            ajax = validateCodeService.createCaptcha();
        }
        catch (Exception e)
        {
            e.printStackTrace();
            ajax= new AjaxResult(500 , "生成验证码错误");
        }
        return ajax;
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值