用户验证是很多应用的核心。然而在一直以来用户验证都是以单体应用的形式处理的,对于用户数据的管理通常是采用外键来关联用户表、角色表和权限表。向微服务迁移也就意味着要将 用户验证、用户管理和用户数据进行解耦。达到这个目的需要一个通用的标识模型。
先介绍一个单体应用下的示例
浏览器和移动端都调用一个后端 后端涉及到的相关库表 用户关联的数据 打开登录页面 用户帐号密码验证,登入系统 用户登陆后查询自己的用户数据 查询用户数据的SQL语句这种方式的特点
- 适用于单页应用和移动网页
- Session ID 就是用户的标识
- 很安全,不容易被窃取和篡改
- 使用简单的HTTP Cookie
这种方式的痛点
- 服务端有状态
- 必须启用会话(Session)
- 很难扩展,每个应用包含所有功能
- 需要维护一个很大的数据库表
网友评论