登录注册接口的总结

本文总结了登录注册接口的实现,包括密码登录、验证码登录和忘记密码流程。密码登录涉及手机号和密码的验证,登录成功后信息存储在缓存。验证码登录需校验手机号和验证码,并清除已使用的验证码。忘记密码时,通过手机号获取授权码以确认用户身份。注册环节,检查手机号是否已注册,验证验证码,然后创建新用户并绑定校验码。
摘要由CSDN通过智能技术生成

1、登录接口分为(密码登陆,验证码登录,修改密码)。

   密码登陆:首先我们需要判断的是手机号,手机号码分为二种情况,一种是手机号码不能为空,另一种是手机号码不为空,不为空的情况下我么就需要去校验手机号的合法不(^1[345678]\\d{9}$)这就需要自己写一个方法来校验了。接下来就是密码的校验,需要自己手动写一个方法来校验。要是手机号、密码都校验完毕,就能直接调研登录的方法登录。用户登录之后我们需要将其信息存储到缓存中,这样就避免了重复登录。主要实现的代码如下:

controller:
/**
	 * 密码登陆
	 * @param phone 手机号码
	 * @param password 密码
	 * @return
	 */
	@RequestMapping(value = "/PassLogin.json", method = RequestMethod.POST)
	@ApiOperation(value = "密码登陆接口")
	@ResponseBody
	public String loginByPassword(
			@ApiParam(required = true, value = "手机号码") @RequestParam("phone")String phone,
			@ApiParam(required = true, value = "密码") @RequestParam("password") String password) {
		//先判断手机号不能为空
		if(StringUtils.isEmpty(phone)){
			return ApiResult.error("手机号为空");
		}else {
			appUserService.checkPhone(phone);
		}
		//自定义一个方法校验密码
		appUserService.validPassword(password);
		AppUser user = appUserService.loginByPassword(phone, password);
		//取出登陆的信息存储到APIPrincipal实体中
		APIPrincipal principal = APIPrincipal.of(user);
		//最终将这些字段存到缓存中
		this.redisService.save(principal.getCacheKey(),principal);
		return ApiResult.success(principal);
	}
	


service实现类:
@Override
	//手机密码登陆,密码的校验
	public boolean validPassword(String password) {
		String reg = "^\\w{6,16}$";
		boolean res = password.matches(reg);
		if(res == false){
			throw new GeneralException("密码格式错误,请输入6-16字符");
		}
		return res;
	}

	@Override
	public boolean checkPhone(String phone) {
		String pho="^1[345678]\\d{9}$";
		boolean ph=phone.matches(pho);
		if(ph==false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值