登录验证用户
问题1:人和账号之间关系
人和账号分离,人作为唯一的实体存在,账号仅作为登录的凭证。故人可以有多个账号,但一个账号只能所属一个人。账号既可以全平台通用,也可以分离设置。账号中的邮箱、手机号等,后续有需要作为增强方式。
问题2:如何找到正确的账号
应用可能面向b或者c端,如果面向c端,那就当成一个特殊的b即可。所以登录时,必须要知道这是哪一个租户下的,才能找到相应的人。
问题3:如何查询账号
pc浏览器进行登录的时候,需要确认从在那个租户下去查询账号信息。选择通过域名来区分,每个租户绑定着唯一的一个域名。
问题4:多应用如何统一登录界面
登录时与应用无关,仅需要在登录成功是重定向回原来的地方即可。
问题5:登录成功后如何进行
登录token放在cookie中,跳转前几
总结
pc浏览器输入域名 -> 根据域名查询到租户id -> 根据这个租户id查询账号 -> 验证账号是否有效 -> 响应登录结果
数据表
tenant表(租户表)
字段名 | 中文名 | 类型 | 说明 |
---|---|---|---|
id | |||
domain | 域名 | varchar | 应用区分 |
account表(账号表)
字段名 | 中文名 | 类型 | 说明 |
---|---|---|---|
id | |||
tenant_id | 租户id | int8 | 同租户下的账号名唯一 |
username | 登录用户名 | varchar | |
password | 密码 | varchar | |
user_id | 用户id | int8 | 绑定的用户id |
user表(用户表)
字段名 | 中文名 | 类型 | 说明 |
---|---|---|---|
id | |||
tenant_id | 租户id | int8 | |
name | 名字 | varchar |