2017.9.7登陆流程总结

登陆校验:输入用户名密码、点击发送验证码,输入验证码,点击登陆,校验全部正确则登陆成功。点击获取验证码需要校验1、2、3、4,点击登陆校验5

1.校验用户。

1)后台获取页面的用户名、密码,获取redis中的用户名密码错误次数、账号状态。  

2)根据用户名查找用户,如果该用户的状态=1,并且redis中该账号状态为2,说明该账号解锁了,清空redis中的账号状态和用户名密码错误次数  

3)更具用户名密码(MD5加密)查找用户信息,判断用户名密码是否正确,是不是机构用户、是否有效(无效有两种:无效、锁定)。用户名密码错误连续次数超过5次,锁定账号(将用户的status置为2)。主要先获取redis中的错误次数,如果为空,表示第一次,提示1;当<5时,次数累加1;否则锁定账号,提示相应的信息。

2.校验机构。

  1)获取用户的机构id,用户登陆的ip

  2)判断机构是否有效、是否添加该系统服务、机构的状态(注销、未审核等等)、ip是否在范围内。

3.校验手机号

  1)获取该用户的手机号,判断手机号是否为空。

2)获取redis中账号状态。如果该用户的状态=1,并且redis中该账号状态为2,说明该账号解锁了,清空redis中的账号状态和该账号的发送验证码次数  

3)redis中的发送验证码次数为null,第一次发,设置验证码5分钟失效在redis中,设置发送次数为124小时失效在redis中,设置用户名密码2小时失效在redis中;发送次数<6(24小时之内),同上,次数+1;否则,锁定账号

4.调用短信接口  

1)参数:账号、短信内容、手机号、流水号。账号和私钥由数据平台提供,短信内容里需要生成一个6位的验证码,流水号生产一个18为以内的随机数。  

2)参数按照字母先后顺序排序,用私钥签名好之后生成验签。url地址拼接。 

3)调用接口,返回数据的处理。

5.校验用户名密码验证码  

1)获取redis中的这三个参数,如果为空,说明该用户没有获取过验证码。  

2)感觉上面说到的方法判断该用户是否解锁,需要清空redis中的用户名密码错误次数、验证码错误次数。  

3)判断redis中的用户名密码和现在页面获取的是否相等,不相等说明用户名密码错误,需要进行用户名密码错误次数处理以及锁定账号(<5)。

4)判断redis中的验证码和现在页面获取的是否相等,不相等说明验证码错误,需要进行验证码错误次数处理以及锁定账号(<5)。  

5)登陆成功需要清空redis中的用户名密码错误次数、验证码

你可能感兴趣的:(2017.9.7登陆流程总结)