基于智慧企业门户的单点登录实现系统技术方案

技术编号:23400235 阅读:19 留言:0更新日期:2020-02-22 12:28
本发明专利技术属于互联网技术领域,具体涉及一种基于智慧企业门户的单点登录实现系统。该系统对各类技术架构开发的应用系统可以使用统一的认证标准,尤其实现了CS架构系统的认证,对应用系统改造工作量少,标准化程度高。该系统对https、域名无强制要求,且对BS系统验证全过程均在后台服务端进行,使用高强度的加密方式和完备的鉴权手段,相对于其他使用Cookie存储验证信息的方式,能够有效降低验证信息被恶意拦截篡改的风险。该系统作为智慧企业门户系统的功能模块,与门户统一用户、统一权限结合使用,有效的解决了企业信息孤岛的问题。

Single sign on implementation system based on smart enterprise portal

【技术实现步骤摘要】
基于智慧企业门户的单点登录实现系统
本专利技术属于互联网
,具体涉及一种基于智慧企业门户的单点登录实现系统。
技术介绍
近年来,随着OA、PDM、ERP等各类系统的深入应用,以有效整合现有信息资源,实现异构信息共享等为特征的智慧企业门户系统建设逐渐成为国内外企业IT建设的重点。在国外,门户系统已被列入了许多跨国企业、大中型企业的信息化规划中。在国内,电信、金融、石化、电力、航天、军工等行业的企业门户系统的建设走在前列。如中国航天科工集团,通过构建智慧企业门户系统,集成企业内OA、邮件、AVIDM等多种应用系统,通过跨系统的单点登陆和统一用户界面等实现了企业门户的整合,为员工构建了统一工作平台。其中单点登录(SSOSingleSign-On)是介于门户和集成的应用系统之间的认证服务,用户登录门户之后,只做一次身份验证,就可以对所有被授权的网络资源进行无缝的访问,不需要再次输入其他应用系统的验证信息,从而可以提高用户的工作效率,降低系统出错的机率。目前主流的单点登录方法有以Cookie作为凭证媒介、通过JSONP实现、通过页面重定向的方式这几种方式,从而衍生出来CAS、Oauth2等单点登录技术和协议,在互联网企业中应用较为广泛。但在国有企业中,企业信息化建设是分阶段、持续性的,横跨了很多年,在不同时期建设的应用系统,从开发技术、架构设计都可能不同,如采用C#开发的PDM系统、MRPII系统,采用.Net开发的OA系统,采用PHP开发的网站系统、采用JAVA开发的财务系统,采用Python开发的检索系统。其中有CS架构的也有BS架构的。而使用CAS、Oauth2需要应用系统进行客户端改造开发,对早期的技术兼容性较差,友好性不高,改造工作量大。针对CS架构的系统,基本无法使用这种方法进行改造。同时CAS认证机制建议使用https协议和域名访问,但在许多企业尤其是军工企业内网环境中,无法满足以上要求。虽然在开发过程中可以通过其他技术手段绕过,但是会造成认证过程存在风险,整体安全性减低的问题。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:如何基于智慧企业门户系统(以下简称门户系统)的建设,在门户系统中实现符合国有企业信息化建设现状的单点登录方法,解决应用系统改造难度高,认证过程存在风险的问题。(二)技术方案为解决上述技术问题,本专利技术提供一种基于智慧企业门户的单点登录实现系统,所述单点登录实现系统包括:门户系统端组件和应用系统端组件;所述门户系统端组件包括:认证模块、缓存服务模块、安全令牌获取模块、比对模块、解密模块、验证模块、反馈模块;所述认证模块包括:安全令牌生成单元、地址调用及信息发送单元;所述应用系统端组件包括:注册申请模块、回调模块;其中,所述注册申请模块用于向门户系统发送注册信息,对其所属的应用系统进行注册;所述注册信息包括:应用系统的名称、应用系统唯一标识、单点登录认证接口地址;所述认证模块用于当用户在门户系统中访问应用系统时,根据应用系统注册信息,主动向应用系统发起认证请求,进行握手验证;具体包括:由安全令牌生成单元对此次认证请求生成安全令牌;所述安全令牌包括:会话控制信息、用户唯一身份标识、应用系统唯一标识、当前请求服务器的时间戳和随机数;然后由加密模块将以上信息进行加密,以键值对的模式把随机数和安全令牌,存入到缓存服务模块中;在安全令牌生成单元生成安全令牌后,由地址调用及信息发送单元调用应用系统的单点登录认证接口地址,开始第一次握手过程,向应用系统发送包括安全令牌、随机数、门户回调验证地址的门户系统调用请求;所述回调模块用于在当应用系统接收到门户系统调用请求后,获取到安全令牌、随机数、门户系统回调验证地址;并用于通过调用门户系统回调验证地址,将安全令牌,随机数和应用系统唯一标识这三个参数形成验证信息,传递给门户系统,开始第二次握手过程;所述安全令牌获取模块用于当门户系统接收到应用系统返回的验证信息后,在缓存服务模块中,所述安全令牌获取模块以键值对的方式,通过随机数获取安全令牌;在服务运行稳定、网络通讯通畅、未被恶意攻击等情况下,通过该方式能够获取到安全令牌,并执行下一步验证步骤;若无法获取到安全令牌,则表明验证过程出现异常,由反馈模块进行异常处理;门户系统获取到安全令牌后,进行信息校验;所述比对模块用于对缓存服务模块中获取到的安全令牌和应用系统回调的验证信息中返回的安全令牌进行比对;如果比对信息不一致,则表明该次请求有可能被恶意拦截并且篡改了,由反馈模块进行异常处理;若信息比对一致,则由解密模块对安全令牌进行解密,然后由验证模块将解密后获得的会话控制信息、用户唯一身份标识、应用系统唯一标识、时间戳和随机数,进行有效性验证;若有效性验证全部通过,开始第三次握手过程;若未全部通过,表明验证信息失效,由反馈模块进行异常处理;所述反馈模块用于在身份验证请求通过的情况下,将用户唯一标识、验证成功标识生成验证结果成功反馈信息并返回给应用系统;所述应用系统的登录模块用于在接收到验证结果成功反馈信息和用户唯一标识,进行本系统登录;第三次握手过程结束,单点登录过程结束;所述反馈模块还用于在进行异常处理时,将验证未通过的失败标识和具体适配原因生成验证结果失败反馈信息返回给应用系统;单点登录过程结束。其中,所述加密模块将所述会话控制信息、用户唯一身份标识、应用系统唯一标识、当前请求服务器的时间戳和随机数采用对称加密算法进行加密。其中,针对BS架构的应用系统,地址调用及信息发送单元通过支持HTTP协议的客户端编程工具包,将加密后的安全令牌、随机数、门户回调验证地址写入到HTTP协议的消息头中,形成门户系统调用请求并传送给应用系统,以减少被恶意系统拦截篡改的几率。其中利要求1所述的基于智慧企业门户的单点登录实现系统,其特征在于,针对CS架构的应用系统,若门户系统使用IE浏览器,则地址调用及信息发送单元通过IE浏览器的组件对象模型,通过脚本命令调用起CS客户端;若门户系统使用的为火狐、谷歌浏览器,则地址调用及信息发送单元采用“网景插件应用程序编程接口”插件,调用起CS客户端;然后将安全令牌、随机数、门户系统回调验证地址形成门户系统调用请求,并以参数方式传递给CS客户端。其中,当BS架构的应用系统接收到门户系统调用请求后,在HTTP协议的消息头中获取到安全令牌、随机数、门户系统回调验证地址。其中,当CS架构的应用系统接收到门户请求,通过客户端获取到安全令牌、随机数、门户系统回调验证地址后,传递给CS架构的应用系统的服务器端。其中,所述回调模块形成验证信息时的应用系统唯一标识,与注册申请模块向门户系统发送的注册信息中的应用系统唯一标识,保持一致。其中,所述验证模块将解密后获得的会话控制信息、用户唯一身份标识、应用系统唯一标识、时间戳和随机数,进行如下有效性验证:...

【技术保护点】
1.一种基于智慧企业门户的单点登录实现系统,其特征在于,所述单点登录实现系统包括:门户系统端组件和应用系统端组件;/n所述门户系统端组件包括:认证模块、缓存服务模块、安全令牌获取模块、比对模块、解密模块、验证模块、反馈模块;/n所述认证模块包括:安全令牌生成单元、地址调用及信息发送单元;/n所述应用系统端组件包括:注册申请模块、回调模块;/n其中,/n所述注册申请模块用于向门户系统发送注册信息,对其所属的应用系统进行注册;所述注册信息包括:应用系统的名称、应用系统唯一标识、单点登录认证接口地址;/n所述认证模块用于当用户在门户系统中访问应用系统时,根据应用系统注册信息,主动向应用系统发起认证请求,进行握手验证;/n具体包括:由安全令牌生成单元对此次认证请求生成安全令牌;所述安全令牌包括:会话控制信息、用户唯一身份标识、应用系统唯一标识、当前请求服务器的时间戳和随机数;然后由加密模块将以上信息进行加密,以键值对的模式把随机数和安全令牌,存入到缓存服务模块中;/n在安全令牌生成单元生成安全令牌后,由地址调用及信息发送单元调用应用系统的单点登录认证接口地址,开始第一次握手过程,向应用系统发送包括安全令牌、随机数、门户回调验证地址的门户系统调用请求;/n所述回调模块用于在当应用系统接收到门户系统调用请求后,获取到安全令牌、随机数、门户系统回调验证地址;并用于通过调用门户系统回调验证地址,将安全令牌,随机数和应用系统唯一标识这三个参数形成验证信息,传递给门户系统,开始第二次握手过程;/n所述安全令牌获取模块用于当门户系统接收到应用系统返回的验证信息后,在缓存服务模块中,所述安全令牌获取模块以键值对的方式,通过随机数获取安全令牌;/n在服务运行稳定、网络通讯通畅、未被恶意攻击等情况下,通过该方式能够获取到安全令牌,并执行下一步验证步骤;/n若无法获取到安全令牌,则表明验证过程出现异常,由反馈模块进行异常处理;/n门户系统获取到安全令牌后,进行信息校验;/n所述比对模块用于对缓存服务模块中获取到的安全令牌和应用系统回调的验证信息中返回的安全令牌进行比对;/n如果比对信息不一致,则表明该次请求有可能被恶意拦截并且篡改了,由反馈模块进行异常处理;/n若信息比对一致,则由解密模块对安全令牌进行解密,然后由验证模块将解密后获得的会话控制信息、用户唯一身份标识、应用系统唯一标识、时间戳和随机数,进行有效性验证;/n若有效性验证全部通过,开始第三次握手过程;/n若未全部通过,表明验证信息失效,由反馈模块进行异常处理;/n所述反馈模块用于在身份验证请求通过的情况下,将用户唯一标识、验证成功标识生成验证结果成功反馈信息并返回给应用系统;/n所述应用系统的登录模块用于在接收到验证结果成功反馈信息和用户唯一标识,进行本系统登录;第三次握手过程结束,单点登录过程结束;/n所述反馈模块还用于在进行异常处理时,将验证未通过的失败标识和具体适配原因生成验证结果失败反馈信息返回给应用系统;单点登录过程结束。/n...

【技术特征摘要】
1.一种基于智慧企业门户的单点登录实现系统,其特征在于,所述单点登录实现系统包括:门户系统端组件和应用系统端组件;
所述门户系统端组件包括:认证模块、缓存服务模块、安全令牌获取模块、比对模块、解密模块、验证模块、反馈模块;
所述认证模块包括:安全令牌生成单元、地址调用及信息发送单元;
所述应用系统端组件包括:注册申请模块、回调模块;
其中,
所述注册申请模块用于向门户系统发送注册信息,对其所属的应用系统进行注册;所述注册信息包括:应用系统的名称、应用系统唯一标识、单点登录认证接口地址;
所述认证模块用于当用户在门户系统中访问应用系统时,根据应用系统注册信息,主动向应用系统发起认证请求,进行握手验证;
具体包括:由安全令牌生成单元对此次认证请求生成安全令牌;所述安全令牌包括:会话控制信息、用户唯一身份标识、应用系统唯一标识、当前请求服务器的时间戳和随机数;然后由加密模块将以上信息进行加密,以键值对的模式把随机数和安全令牌,存入到缓存服务模块中;
在安全令牌生成单元生成安全令牌后,由地址调用及信息发送单元调用应用系统的单点登录认证接口地址,开始第一次握手过程,向应用系统发送包括安全令牌、随机数、门户回调验证地址的门户系统调用请求;
所述回调模块用于在当应用系统接收到门户系统调用请求后,获取到安全令牌、随机数、门户系统回调验证地址;并用于通过调用门户系统回调验证地址,将安全令牌,随机数和应用系统唯一标识这三个参数形成验证信息,传递给门户系统,开始第二次握手过程;
所述安全令牌获取模块用于当门户系统接收到应用系统返回的验证信息后,在缓存服务模块中,所述安全令牌获取模块以键值对的方式,通过随机数获取安全令牌;
在服务运行稳定、网络通讯通畅、未被恶意攻击等情况下,通过该方式能够获取到安全令牌,并执行下一步验证步骤;
若无法获取到安全令牌,则表明验证过程出现异常,由反馈模块进行异常处理;
门户系统获取到安全令牌后,进行信息校验;
所述比对模块用于对缓存服务模块中获取到的安全令牌和应用系统回调的验证信息中返回的安全令牌进行比对;
如果比对信息不一致,则表明该次请求有可能被恶意拦截并且篡改了,由反馈模块进行异常处理;
若信息比对一致,则由解密模块对安全令牌进行解密,然后由验证模块将解密后获得的会话控制信息、用户唯一身份标识、应用系统唯一标识、时间戳和随机数,进行有效性验证;
若有效性验证全部通过,开始第三次握手过程;
若未全部通过,表明验证信息失效,由反馈模块进行异常处理;
所述反馈模块用于在身份验证请求通过的情况下,将用户唯一标识、验证成功标识生成验证结果成功反馈信息并返回给应用系统;
所述应用系统的登录模块用于在接收到验证结果成功反馈信息和用户唯一标识,进行本系统登录;第三次握手过程结束,单点登录过程结束;
所述反馈模块还用于在进行异常处理时,将验证未通...

【专利技术属性】
技术研发人员:王波刘东宇孟祥超张羽王学勇杜贝娜王佳星潘云鹏
申请(专利权)人:北京京航计算通讯研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1