有关用户登录

但凡在公众网中提供服务的网站,基本上都有个用户注册,登录的过程。

所以,设计一套完善的注册登录功能是十分有必要的。

1.注册

   a.为了防止用户恶意注册,一般注册需要是用户的邮箱,或者手机号,这样便可以通过发送确认链接,或者发送手机验证码的形式来验证邮箱或者手机号是否真实且属于注册用户。

   b.为了防止手握大量邮箱的用户采取机器注册方式,注册页面必须有手动输入验证的方式,比如各种类型的验证码。

   c.为了确认用户所输入的邮箱或者手机号是本人所有,需要通过发送到邮件里的确认链接或者手机里的验证码来验证。

2.登录

   a.只有注册用户才可以登录。

   b.为防止用户恶意破解,登录n次失败,需要显示验证码,然后再登录m次失败,锁定用户1分钟,一定时间内再次发生,可以逐步增加锁定时间。

   c.集成第三方登录系统(微信,QQ,微博,支付宝等),并且第三方登录可以和注册用户绑定。

3.状态

   根据用户的情况,可以分为以下几种状态

   a.未确认:已经注册,但还未确认。

   b.通常:正常使用状态。

   c.一时锁定:由于用户登录失败,导致的一时锁定。

   d.永久封号:根据用户的要求或者用户的恶意行为,导致的永久封号。

关于第三方登录和注册用户绑定的问题,系统内部实现,实际上就是有个用户表,还关联一个用户认证表,

用户表保存的是唯一确定用户的,而用户认证表是用户的各种认证方式,那么就会有几种情况。

1.用户先注册,登录,然后绑定第三方认证。

   这种情况比较简单,因为用户表里用户还是唯一。

2.用户先用第三方认证登录,然后再添加邮箱,或者手机号。

   这种情况和上面雷同,没啥区别。

3.用户也注册了,同时也用第三方认证登录了,但互相并没有绑定。

  这种情况比较麻烦,也就是说,实际上用户表里已经存在了多个用户数据了,从系统上这是多个不同的用户,

  那么如何合并用户,就是个大问题了。因为这可能涉及到关联表的更新,如果关联表的设计没有考虑到这种情况,更新起来会很繁琐。

猜你喜欢

转载自weiqingfei.iteye.com/blog/2328623