请教多个业务系统集成单点登录的问题

2023-03-14 11:06:48 +08:00
 MeloForsaken

1.目前多个业务系统自己维护了用户,按我的理解,应该需要把用户表(例如账号、密码等)提取到一个统一的服务进行账户认证吧? 2.但是有些业务系统的用户表中特殊的用户相关字段和系统的功能深度集成,这些字段是一起提取到认证服务中还是各个业务系统单独维护一张用户表来存这些特殊的用户相关字段? 3.关于权限问题(接口权限),由于每个业务系统的接口权限、角色的表结构相同,是否需要提取到一个统一的权限服务中进行授权和鉴权?

1124 次点击
所在节点    程序员
3 条回复
pkxutao
2023-03-14 14:47:20 +08:00
个人理解:
1 、最好是这样做
2 、各个系统单独维护,认证系统只维护基本用户信息
3 、也可以各个系统单独维护权限,重点在于你有多大决心去改你的系统,如果系统级重构的话那用户相关的都做到用户系统里面(已经不叫认证系统了),其他的可以做成业务服务,只管业务就行,如果你想最小化修改,那就认证系统只做登录认证,其他维持不变
aw2350
2023-03-14 15:51:42 +08:00
1 。每个系统在登录时同步存储一下用户信息,存在更新不存在插入,仅限于非敏感信息
3 有一个独立的服务去维护角色鉴权等,包含应用角色各个维度的组合权限交叉,通过中间件或过滤器等进行鉴权
litchinn
2023-03-15 09:28:55 +08:00
1 楼已经说的很好了,这里做一点具体的补充
1. 可以做一个 IAM
2. 业务相关的各自负责处理,某些共用的也可以业务系统自己再来一个,比如头像,在共有一个的情况下,各个系统也能改成自己独立使用的,这个东西完全看系统的业务设计,没啥最佳实践
3. RBAC 即可,角色在 IAM 中管理,角色所拥有的接口权限由业务系统负责,登录后可以获取用户角色,根据角色判断是否有访问权限

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/923831

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX