全栈项目|小书架|服务器开发-用户模块设计(用户表设计,注册登录,退出登录)
写系列文章最容易出现的情况是写到一半,然后写不下去了。一个因素是人变懒了;一个因素是这几天在整理用户模块这部分的知识,发现有太多的内容要写,而深入Google之后又发现好多内容是自己未知的,写着写着就不知道该如何写了。 常见的和用户模块相关的操作有: 注册登录、信息修改、退出登录 用户表设计 一个系统中,用户模块是最基础也是最重要的。如果只考虑一种登录方式,那用户表可以用一张 users 表搞定一切。但是现实情况是登录方式有很多种,比如: 账号密码登录 , 微信、QQ、微博登录 , 手机号、邮箱登录 。而且一个用户可以使用 账号密码登录 之后再关联 微信、QQ、微博 ,之后可以直接使用 微信、QQ、微博 登录;那么如何保证设计 用户表 将变得至关重要。 参考: 可扩展的用户表设计 设计一个可扩展的用户登录系统 (1) 用户系统设计与实现 多平台统一用户系统设计 通过以上部分博文的介绍,我们可以将用户表设计为: 用户基础表:user_base , 用户授权表:user_auth , 用户扩展表:user_extends 。 用户基础表:uid、user_role、user_name、avatar、password、signature、birthday、gender等 用户授权表:id、uid、identity_type、identifier、certificate等 用户扩展表:id