阿里云短信验证

一、开通阿里云短信服务,申请签名和模板,记住accessKeyId和accessKeySecret,具体操作可搜到

二、点击短信服务的帮助文档,点击旧版的开发指南,(新版未试用),下载java版本,访问dysms_java\java\api_demo\alicom-dysms-api\src\main\java\com\alicom\dysms\api

中的smsdemo文件,导入dysms_java\java\api_demo\alicom-dysms-api\libs的两个包,然后就可以按照demo中的注释修改access、签名、模板,

在sendSms方法中传入两个参,分别是手机号和验证码(取随机数)

三、创建一个msgutil工具类,可直接将sendSms方法和自己创建的随机数方法放在该类中。使用验证码服务一般使用ajax,在controller层

@RequestMapping("sendCode")
    @ResponseBody
    public Map<String, Object> sendCode(String phone, HttpSession session) {
        String code = MsgUtil.randCode();
        Map<String, Object> result = new HashMap<>();
        try {
            MsgUtil.sendSms(phone, code);
            session.setAttribute("code", code);
            result.put("statu", 200);
            result.put("msg", "短信发送成功");
        } catch (ClientException e) {
            result.put("statu", 500);
            result.put("msg", "短信发送失败");
        }
        return result;
        
    }

调用sendsms方法,同时将code存到session中,可以用map方式返回

登录或注册时,将输入的验证码与session中验证码比较即可。(这里验证码没有设置过期时间)

 

posted @ 2019-09-24 15:16  森罗的灵峰  阅读(384)  评论(0编辑  收藏  举报