在当今多系统并行运行的企业环境中,实现统一身份认证已成为保障系统安全与提升用户体验的关键手段。IDM(Identity Management)作为身份管理的核心平台,能够集中管理用户信息、权限及认证流程。通过构建标准化的认证接口,IDM 有效解决了多系统间用户重复登录、账号分散管理等问题,推动企业信息系统向高效、安全的方向发展。
通过 IDM 实现统一认证的过程中,企业通常需在各业务系统中配置对应的模块信息,并将这些系统接入 IDM 的认证服务。IDM 通过与门户系统(如 Portal)及中间件(如 ESB)协同工作,根据用户身份信息自动判断访问权限,并将用户引导至目标系统。整个流程在保证数据安全的同时,极大提升了访问效率和系统协同能力。
整体介绍
统一认证是现代企业信息系统安全的重要组成部分,IDM(身份管理系统)通过集成多种认证协议实现这一目标。其中,CAS(Central Authentication Service)支持基于票据的单点登录机制,适用于传统Web系统;OAuth则更适用于开放平台和移动应用场景,支持授权访问第三方资源。IDM通过配置认证桥,作为中转枢纽,统一对接CAS、OAuth等协议,实现跨系统的身份认证与权限控制。认证桥可灵活适配多种认证方式,提升系统兼容性与安全性。
1.功能架构
IDM主要对组织、角色、人员进行管理,并对其所有的状态进行记录,如:初始化、审批中、已启用、已禁用等,账户统一管理可以实现从HR系统中获取组织用户数据,也可直接在IDM系统中录入数据,用户信息中的部分属性信息根据同步策略由HR系统或其它指定系统同步更新到用户目录,其它用户信息可在应用系统中各自进行维护,通过IDM统一用户信息后,发送到各个业务系统。
2.系统架构
IDM主要是实现统一认证、授权、审计管理,提高企业身份认证及访问安全,建立授权流程审批机制,使用户身份信息、授权信息、审批信息等操作更加规范化、标准化,提高整体IT架构的风险防范能力。
消除企业系统间的信息孤岛,为各系统提供统一身份认证、用户身份管理服务,逐步实现系统身份系统的整合,构建面向用户的认证和授权服务,使业务操作更流畅。为简化IT运维提供强大的技术手段和标准,实现账户数据自动化同步操作,同时制定合规的安全服务规范,构建统一的、支撑企业级的认证授权安全服务基础设施。
3.业务场景
CAS用于统一身份认证技术,Web应用系统提供一种可靠的单点登录解决方法,在实现统一身份认证过程中,一般CAS Server登录成功后只会给业务系统返回一个登录账号,但特殊情况需返回多个值,支持多种客户端,安全可靠。
Oauth认证不会使第三方触及到用户的账号信息,不会代码侵占的认证方式,通过认证平台登录账户成功后,会从定向业务系统的页面,调用Oauth接口获取token和用户信息,从而业务系统可以通过用户信息及直接的认证方式进行登录认证,这样就实现了Oauth模式单点登录模式。
CAS认证
CAS用于统一身份认证技术,Web应用系统提供一种可靠的单点登录解决方法,在实现统一身份认证过程中,一般CAS Server登录成功后只会给业务系统返回一个登录账号,但特殊情况需返回多个值,支持多种客户端,安全可靠。
1.功能介绍
客户端发送请求访问WEB应用时,CAS Client会检查当前用户是否携带认证标识(是否登录),若未登录,重定向至CAS Server进行登录认证,登录成功后会携带认证标识返回WEB应用,此时CAS Client会检查,发现存在认证标识,CAS Client会解析到当前登录的人员编码,WEB应用使用该编码实现权限初始化,从而实现SSO单点登录。
以下是通过CAS登录IDM场景:在浏览器地址栏上访问IDM地址:http://localhost:3030/idm,这时会被CAS登录页面拦截:
输入IDM账号密码就调用CAS认证登录了。点击登录进入首页:
2.功能配置
在web.xml中添加以下配置:需要配置三处Filter。
第一处Filter:
第二处Filter中casServerLoginUrl下面的地址就是idm中cas的地址,serverName中配置要被认证的地址:
第三处:Filter中casServerUrlPrefix还是idm中cas 的地址, serverName还是要被认证的地址:
3.功能展示
在上面已经将ESB也就是http://localhost:9090地址进行了cas认证配置,通过浏览器访问上面的地址可以看到ESB已经被cas所拦截:
如果登录ESB后再IDM的登陆页面刷新后,IDM也是可以进入到登录页面的:
Oauth认证
OAuth 是一种开放授权协议,允许用户在不暴露密码的情况下,让第三方应用访问其存储在另一个服务上的资源。用户授权后,第三方应用可通过令牌(Token)访问资源,实现安全的数据共享。常用于微信、微博等第三方登录场景。
1.内部应用配置
首先在IDM的应用配置中将系统注册到IDM中。
然后在认证配置中选择Oauth认证,后配置对应的应用域名即可。
最后在要进行Oauth认证的系统中的全局变量中配置如下信息。
aidm.oauthServerURL:是IDM的Oauth的地址。
aidm.serviceId:是固定的字符串。
aidm.oauthAppId:是IDM的应用配置中的编码。
aidm.oauthAppSecret::是IDM的应用配置中的密码。
2.其他应用配置
其他系统要与IDM进行Oauth认证,首先还是要将系统注册到IDM中,这里就不截图了,然后需要调用三个接口进行认证。
首先调用下面的接口与IDM进行认证,入参中的appId等参数,都是在IDM的应用配置中所配置的信息,这个接口会返回Code。
http://localhost:3030/cas/oauth2.0/authorize。
然后调用获取accessToken接口,这里的入参也是在IDM中所配置的,包括code就是在第一个接口中的出参。
http://localhost:3030/cas/oauth2.0/accessToken。
最后调用获取用户信息接口,入参就是在第二个接口中得到的accessToken。
http://localhost:3030/cas/oauth2.0/profile。
最后接口出参的参数,可以看到得到了用户的信息:
3.功能展示
在进行Oauth配置后访问portal,可以看到在登录页面中已经被Oauth所拦截。
IDM认证桥
在项目中虽然Oauth认证不会使第三方触及到用户的帐号信息, 不会代码侵占的认证方式。但是有些业务系统可能开发比较困难,这时,我们可以调用业务系统的认证接口来进行认证。
IDM认证桥的大致逻辑是首先在门户中配置应用图标,然后配置IDM的地址,由IDM调用ESB服务流程进行业务系统的认证,调用认证接口后得到的重定向的地址,再由IDM进行调用。
1.portal配置
首先在portal的应用管理中注册业务系统。
然后在模块信息中配置对应的Web链接和H5链接,链接的地址在appCode前都是调用IDM的地址,appCode根据业务系统不同填写的各不相同。
2.idm配置
在IDM全局编码中配置前缀是OA.的两个配置,这个OA就是刚刚在portal中appCode后面的值。
OA.AuthServiceURL:中配置的是ESB服务的地址。
OA.SecretKey:配置的是加密解密的8位字符串。
3.流程介绍
大致介绍了ESB设计器服务认证逻辑,首先获取解密后的参数,这里面就有当前登录的用户编码,然后可以调用业务系统的认证接口了,可能在调用前还要进行一些参数的配置,包括时间戳和签名等等。
认证后就得到了回调的地址,ESB设计器会将地址返回给IDM,由IDM进行地址的跳转。
4.功能展示
在门户的首页点击OA。
就可以跳转到对应的应用系统中,本次是没有进行认证,所有会被拦截到登录页面,如果认证后可以直接进入到系统中。
总结说明
通过集成CAS与OAuth协议,IDM可实现多场景下的统一认证管理。CAS适用于Web系统的单点登录,OAuth则支持授权访问与API调用,二者互为补充。IDM认证桥作为连接各系统与认证协议的枢纽,统一身份验证逻辑,提升系统兼容性、安全性与用户体验,是企业实现集中认证管理的关键组件。
1.过程总结
在通过IDM实现统一认证的过程中,CAS与OAuth发挥着各自的核心作用。CAS提供基于票据的单点登录机制,适用于企业内部Web系统的快速认证;OAuth则支持第三方应用授权访问,适合移动端与开放平台。IDM认证桥作为连接各业务系统与认证协议的核心组件,统一封装CAS与OAuth的认证流程,简化接入开发,提升兼容性与扩展性。通过认证桥,IDM能够动态选择合适的认证方式,实现跨系统的统一身份识别与权限控制,有效保障系统安全与用户体验。
2.重要事项
此篇文章主要针对如何通过IDM结合Portal和ESB实现第三方单点登录进行介绍。以下是重要事项:
1.合理选择认证协议:根据系统类型和使用场景选择合适的协议,Web系统优先采用CAS,开放平台或移动应用建议使用OAuth,以实现最佳兼容性与安全性。
2.配置IDM认证桥:确保IDM认证桥正确对接各业务系统及认证协议,桥接过程需处理协议转换、用户身份映射及权限同步,确保认证流程稳定可靠。
3.统一认证入口管理:通过IDM统一维护认证入口与策略,避免多入口带来的混乱与安全漏洞,提升系统间协同效率与用户登录体验。
3.说在最后
在多系统协同的复杂环境下,统一认证不仅是技术手段,更是信息安全与用户体验的核心保障。通过整合CAS和OAuth两种主流认证协议,IDM实现了对不同系统和平台的灵活适配,满足了从传统Web到现代移动端的多样化认证需求。
IDM认证桥的引入,不仅打通了各系统间的身份壁垒,还极大简化了接入流程,使认证方式更统一、权限管理更集中。未来,随着系统集成的进一步深化,IDM将持续扮演企业数字化安全体系的中枢角色,为业务发展保驾护航。
本文由@数通畅联原创,欢迎转发,仅供学习交流使用,引用请注明出处!谢谢~