多元化认证方式二开实践

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

多元化认证方式二开实践

一、业务场景

       客户配置开启了AD域或LDAP认证方式,但经常一些用户需要走EAS的账号密码认证,比如超级管理员,内置用户或其它一些用户等,甚至有些客户还有更复杂的一个多认证场景需求。常用的场景如下图所示:

二、实践思路

       标准产品可以配置开启使用某个认证,基于此可以在获取到认证处理器后可扩展开发:根据待认证的用户再次路由选择最终认证处理器,客户可以根据实际的业务场景需求,实现这个路由策略,具体业务方案如下。

三、详细设计

       此方案的主要设计部分就是二次路由选择扩展,第一次认证路由选择是标准产品中配置开启使用哪个认证。此二开方案第二次路由则有客户定制化开发。此方案适用所有认证方式二次路由策略二次开发。



四、代码样例

       (1)这里需要修改标准代码最核心的部分就是修改getAuthHandler, 在getAuthHandler 增加二次路由认证选择扩展,在代码部分就增加一个getUseHandler方法,根据当前配置的handler和当前需要认证的用户来确定最终需要使用的认证handler,具体修改如下图所示:

   注意:这里针对不同的handler需要做instanceof判断 ,确保只影响需要做二次路由认证处理器,避免影响所有的handler,比如影响ltaptoken认证等。


和标准代码对比如下,右边是二开修改后


     (2)方案中的二次路由认证选择在这里实际就是在对应的认证Handler中增加getUseHandler方法,getUseHandler方法实现客户可以按照实际客户的实际进行实现。以下就是实现了某些例外用户路由到baseDB认证。

五、注意事项



六、补丁影响

(1)一般二开部署私包和标准包代码存在冲突(优先加载私包),如果私包不是基于当前环境补丁包代码二开的,则可能会存在问题。

(2)本实践方二开代码涉及的BOS_SSO领域,如果需要安装【单点登录】的补丁,则需要安装补丁前检查补丁代码是否存在改动,如果有改动,则需要基于本补丁的代码类来升级私包。

多元化认证方式二开实践

一、业务场景 客户配置开启了AD域或LDAP认证方式,但经常一些用户需要走EAS的账号密码认证,比如超级管理员,内置用户或其它一些...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息