security实现手机验证码登陆

本文介绍了使用Spring Security实现手机验证码登录的过程。首先,用户输入手机号获取验证码,系统生成随机验证码存储在缓存中并发送给用户。接着,用户输入验证码后与缓存中的验证码进行比对。验证通过后,查找对应手机号的用户,并生成用户令牌,从而完成登录验证。前端接收到成功消息后直接跳转至首页,实现短信验证码登录功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目用的是security来做安全校验,表单验证的就不谈了,现在讲一下我用手机验证码登陆的思路及实现方式。

手机验证码登陆的思路如下:

1、用户输入手机号,点击获取验证码

2、系统生成随机验证码,保存到缓存中,同时给用户下发验证码信息。

3、用户输入验证码后,和缓存中进行比对。

4、如果验证码正确,查出手机对应的用户。

5、根据查出来的用户,生成用户令牌,完成验证。(我主要就讲这里,其它步骤并不是重点,直接上代码)

@RequestMapping("/ajaxLogin")
	@ResponseBody
	public BaseResult<T> ajaxLogin(@RequestBody String json) {
		log.info("json============="+json);
		//校验验证码
		String checkrs=userRemote.checkCheckCode(json);
		log.info("checkrs============="+checkrs);
		
		if(checkrs.equals("error")) {
			//如果校验失败,返回错误信息
			return new BaseResult<>("001","验证码校验错误");
		}
		
		//如果校验正确,根据手机号查出用户信息
		JSONObject object=JSONObject.parseObject(json);
		String phone=object.getString("phone");
		
		String userrString=userRemote.getUserInfoByPhone(phone);
		log.info("userrString============="+userrString);
		if(StringUtils.isBlank(userrString)) {
			return new BaseResult<>("001","手机号未注册或未绑定用户");
		}
		
		JSONObject 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值