本文共 791 字,大约阅读时间需要 2 分钟。
一、业务场景说明
我们有多个项目同时需要接入客户的LDAP服务时,用客户的LDAP服务统一管理用户鉴权。
二、传统实现
每个项目的用户模块都定时与LDAP同步。并通过LDAP进行用户校验。
因为是定时同步,这种实现方式在会带来用户信息延迟的问题。在单个服务中问题不大,可以通过手动发起同步请求的方式主动同步用户信息,但是如果存在多个服务,而且各个服务之间有关联的时候,用户信息的延迟就很大程度影响用户的体验。例如,云桌面项目中包含云盘项目,如果云桌面项目中的用户信息更新,而云盘项目信息没有更新,就会带来在云桌面中使用云盘的问题。
每个项目都需要加上ldap的模块与本项目自己的用户体系模块。
三、LDAP接入设计
加入认证中心的模块
模块职能:用户信息的展示与操作
用户认证(可请求使用ldap认证)
ldap信息映射与同步
用户信息的主动分发与通知
职能说明:
认证中心提供用户信息的增删改查,增删改操作根据【策略】主动同步到LDAP服务器与各个应用项目的用户管理模块中。
各个应用项目可以向认证中心发起用户增删改请求,并根据【策略】同步到各个应用项目与LDAP服务器。
可以配置定时与LDAP服务器同步数据并提供手动触发同步的事件方法。
认证中心提供用户认证的功能,可以请求通过认证中心认证或通过LDAP认证。后续项目无需开发用户认证模块。直接接入认证中心即可。第三方应用依然可以使用自带的认证模块。
【策略】可以控制认证中心,是否有权限将用户信息写入LDAP服务器或各个应用服务中。
四、成效
1、存量的系统接入复杂的LDAP服务,只需在增删改用户信息时通知认证中心。即可达到联动修改同系列应用服务用户信息的效果。
2、同系列用户信息同步是即时的。
3、ldap的接入仅需在认证中心处理即可。其他项目无感知,降低对接难度
睿江云官网链接:www.eflycloud.com
转载地址:http://xsdoo.baihongyu.com/