CN106612290B - 一种面向系统集成的跨域单点登录方法 - Google Patents

一种面向系统集成的跨域单点登录方法 Download PDF

Info

Publication number
CN106612290B
CN106612290B CN201710038363.8A CN201710038363A CN106612290B CN 106612290 B CN106612290 B CN 106612290B CN 201710038363 A CN201710038363 A CN 201710038363A CN 106612290 B CN106612290 B CN 106612290B
Authority
CN
China
Prior art keywords
authorization code
user
login
single sign
proxy service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710038363.8A
Other languages
English (en)
Other versions
CN106612290A (zh
Inventor
毛莺池
曾涛
钟海士
平萍
王龙宝
戚荣志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN201710038363.8A priority Critical patent/CN106612290B/zh
Publication of CN106612290A publication Critical patent/CN106612290A/zh
Application granted granted Critical
Publication of CN106612290B publication Critical patent/CN106612290B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种面向系统集成的跨域单点登录方法,其步骤为:1)用户首次访问某个子系统时,代理服务拦截该请求并跳转至统一登录界面。2)用户在登录界面填写用户名、密码等信息。3)单点登录服务器验证该用户信息,生成唯一授权码。4)使用模拟登录的方式,将授权码及登录信息发送到全部系统。5)用户使用授权码再次访问本系统或其他系统,且无需再次登录。本发明的优点在于:配置简单不侵入原系统代码,且支持跨域分布在多个域名下的系统也可实现无缝访问,还具有适用于高并发场景、支持限时免登陆特性。

Description

一种面向系统集成的跨域单点登录方法
技术领域
本发明属于计算机应用技术领域,特别涉及一种面向系统集成的跨域单点登录方法。
背景技术
系统集成时需要将多个独立子系统集中管理,子系统之间单独开发,每个子系统都使用各自的登录功能,因此用户在多个子系统间切换时,需要多次输入用户名和密码,这严重地影响了用户的使用体验,同时也给用户带来管理众多账号密码的压力。
单点登录技术就是为了解决上述系统集成时存在的问题,用户在系统平台下的任一子系统登录后,再访问其他子系统都不需要再次输入用户名密码。该技术将身份验证和权限管理的工作全部交由单点登录服务完成,这样保证了用户的认证工作全部后台实现,对用户静默,实现了系统间无缝切换,这极大地提升了用户的使用体验。
在系统集成时,即存在一些已使用很久的老系统,也存在新开发系统。在集成这些系统时会存在以下问题:
(1)部分系统已提供登录功能,部分并没有登录入口。
(2)不同子系统可能部署在不同域下。
(3)不同子系统可能使用不同的开发语言开发实现。
另外系统还存在维护方已不再维护的情况,无法更改源代码,因此一种支持跨域、跨开发平台且使用简单、不侵入原有系统的单点登录方法及其重要。本发明就是基于这种需求而开发的一种面向系统集成的跨域单点登录方法。
跨域单点登录的技术核心在认证信息多系统共享,目前主要有三种实现方式:第一,采用共享Session技术实现认证信息共享或通过Cookie记录认证信息;第二,通过令牌适配器,将域内令牌认证生成跨域令牌;第三,在集成门户中生成特殊URL,以此来传递认证信息。其中,第一种方法时效性控制存在限制,且需要侵入原系统;第二种方法,每次访问时都需验证,验证服务器压力较大;第三种方法,对用户限制较大,所有操作需在集成门户上进行。
发明内容
发明目的:针对现有技术中存在的问题,本发明提供一种配置简单不侵入原系统代码,且支持跨域分布在多个域名下的系统也可实现无缝访问,还具有适用于高并发场景、支持限时免登陆特性的面向系统集成的跨域单点登录方法。
技术方案:为解决上述技术问题,本发明提供一种面向系统集成的跨域单点登录方法,包括如下步骤:
步骤一:代理服务接收用户向子系统发出的请求,并检验该用户授权码,如果没有携带授权码则判断该用户是首次访问子系统并进入步骤二,如果携带授权码则判断该用户不是首次访问子系统并进入步骤三;
步骤二:代理服务将请求重定向到单点登录服务的统一登录界面并进入步骤四;
步骤三:判断用户不是首次访问子系统后,访问代理服务获得授权码并进入步骤六,如果访问代理服务的授权码缓存中没有找到该授权码信息,则以RPC协议并加密的方式向单点登录服务授权码验证模块发出验证请求,若验证通过则访问代理服务保存该授权码,否则将重定向到统一登录界面并进入步骤二;
步骤四:用户在单点登录服务的统一登录界面填写用户名、密码、是否免登陆;然后对于用户信息进行验证;
步骤五:用户信息验证通过后,通过授权码生成模块生成唯一授权码,使用模拟登陆实现所有子系统的登录,并将授权码发送到各个子系统的代理服务;
步骤六:对授权码进行验证,如果验证通过进入步骤七,如果验证不通过则抛弃该授权码并重新定向到统一登录界面返回步骤四;
步骤七:通过访问代理服务缓存该授权码,并在用户端生成含有授权码的Cookie;
步骤八:用户成功访问子系统,实现单点登录。
进一步的,所述授权码生成模块使用GUID生成全局唯一授权码,授权码管理模块以<用户名,授权码,生成时间,存活时间>的格式保存。
进一步的,所述步骤四中的免登陆最高可达30天。
与现有技术相比,本发明的优点在于:
本发明使用的是基于代理服务的请求转发技术、模拟登录技术、认证信息缓存来完成跨域单点登录,具有不侵入原有系统、适用于高并发场景、对用户操作无限制的优点。
本发明使用访问代理、模拟登录及缓存授权码的思想,发明了一种面向系统集成的跨域单点登录方法,该方法配置简单不侵入原系统代码,且支持跨域分布在多个域名下的系统也可实现无缝访问,因此特别适用于跨域、跨开发平台的系统集成需求。另外由于缓存授权码,该方法还具有适用于高并发场景、支持限时免登陆的特性。
附图说明
图1是本发明的流程图;
图2是具体实施例中访问代理服务与子系统关系图;
图3为具体实施例中用户首次访问第一个子系统的流程图;
图4为具体实施例中单点登录服务登录流程图;
图5为具体实施例中用户首次登录其他系统时流程图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明。
本发明在每个系统之上部署访问代理服务,访问代理与系统在同一域名之下,且不侵入原有系统代码、不更改原有系统配置。用户向系统发出的请求首先需要通过访问代理服务,由访问代理服务负责请求的处理工作,当用户并无法感知到访问代理服务的存在。
当用户首次向系统发出访问请求时,访问代理服务将用户访问的资源重定向到单点登录服务器的统一登录界面,用户输入正确的用户名密码之后,单点登录服务器的授权码生成模块授予该用户唯一授权码,该授权码用于其他系统校验该用户是否成功登录。
单点登录系统部署时,需要为每个系统设置登录接口。登录接口分为两种,第一种是系统原生登录接口,自带登录功能的系统必须设置这种接口;另外一种为访问代理服务中的登录接口,全部系统都需要设置这种接口。当用户成功登录后,单点登录服务器返回登录成功界面,在该界面完成模拟登录操作,该操作对用户不可见。成功登录界面,会生成数个不可见的iframe框架,该框架的URL为单点登录服务器根据用户信息和子系统登录接口生成。当所有iframe访问成功后,界面会自动跳转到用户请求的URL。URL为第二种登录接口的iframe,会携带授权码向代理访问层发出请求,代理访问层根据请求信息,使用加密通道再次向单点登录服务器发出验证请求,验证成功后生成带有授权码信息的Cookie并将登录信息以<用户名,授权码,生成时间,存活时间>的格式保存在本机。
用户再次访问该系统或其他系统时,发出的请求会携带授权码,代理服务层将该授权码与自身保存的授权码进行比对。当相同时,代理服务层转发此次请求到子系统;当不同时,则请求重定向到统一登录界面;当不存在时,使用加密通道向单点登录服务发起验证请求。
用户向系统发出的请求,访问代理服务验证通过后,将该请求发送给其代理的系统,并将系统的回复信息全部返还给用户。
如图1所示,本发明包括如下步骤:
步骤一:代理服务接收用户向子系统发出的请求,并检验该用户授权码,如果没有携带授权码则判断该用户是首次访问子系统并进入步骤二,如果携带授权码则判断该用户不是首次访问子系统并进入步骤三;
步骤二:代理服务将请求重定向到单点登录服务的统一登录界面并进入步骤四;
步骤三:判断用户不是首次访问子系统后,访问代理服务获得授权码并进入步骤六,如果访问代理服务的授权码缓存中没有找到该授权码信息,则以RPC协议并加密的方式向单点登录服务授权码验证模块发出验证请求,若验证通过则访问代理服务保存该授权码,否则将重定向到统一登录界面并进入步骤二;
步骤四:用户在单点登录服务的统一登录界面填写用户名、密码、是否免登陆;然后对于用户信息进行验证;免登陆最高可达30天。
步骤五:用户信息验证通过后,通过授权码生成模块生成唯一授权码,使用模拟登陆实现所有子系统的登录,并将授权码发送到各个子系统的代理服务;所述授权码生成模块使用GUID生成全局唯一授权码,授权码管理模块以<用户名,授权码,生成时间,存活时间>的格式保存;
步骤六:对授权码进行验证,如果验证通过进入步骤七,如果验证不通过则抛弃该授权码并重新定向到统一登录界面返回步骤四;
步骤七:通过访问代理服务缓存该授权码,并在用户端生成含有授权码的Cookie;
步骤八:用户成功访问子系统,实现单点登录。
如图2所示,在子系统前部署访问代理服务,访问代理服务与子系统处于同一顶级域下。代理访问层可以为任一编程语言实现,且不侵入子系统,包括不侵入子系统配置。访问代理服务可以在不关闭子系统的情况下部署,部署前需要在其配置文件中配置子系统的编码、二级域名、单点登录服务地址等配置项。部署访问代理服务后,对外公开的子系统地址改为代理访问层地址。
如图3所示,当用户首次访问第一个子系统时,系统的实现步骤如下:
(1)用户向子系统发起请求,访问代理服务首先接受到该请求。
(2)该请求没有携带授权码,因此访问代理服务将请求重定向到单点登录服务的统一登录界面。
(3)用户在登录界面正确填写信息后,单点登录服务登录成功界面向访问代理服务和子系统(存在第一种登录接口)发送登录信息,登录信息包括用户信息和授权码。然后界面跳转至用户初始请求的URL。
(4)访问代理服务将请求转发给子系统。
(5)子系统处理请求后,发送回复信息给访问代理服务
(6)访问代理服务将子系统的回复转发给用户。
如图4所示,用户在统一登录界面登录后,单点登录系统经过验证、模拟登录等流程后完成用户的单点登录,其具体步骤为:
(1)用户在单点登录服务的统一登录界面填写用户名、密码、是否免登陆,其中设置为免登录可保证30天内的免登陆。
(2)用户信息验证通过后,统一登录模块向授权码生成模块请求全局唯一授权码。
(3)授权码生成模块使用GUID生成全局唯一授权码,授权码管理模块以<用户名,授权码,生成时间,存活时间>的格式保存,然后启动定时器定时清理已过时的用户登录信息。
(4)统一登录接口将登录信息发送到模拟登录系统,该系统以网页形式向用户展示登录成功界面
(5)在登录成功界面生成数个不可见的iframe框架,在这些框架中进行模拟登录操作。
(6)访问代理服务根据模拟登录系统获得用户授权码,但此处获得的授权码是使用未加密方式获得的,因此需要向单点登录服务进行验证。访问代理服务使用RPC协议并加密地向授权码管理模块进行验证,当验证通过时以<用户名,授权码,生成时间,存活时间>的格式保存在本机,然后启动定时器定时清理已过时的用户登录信息,若没有通过验证则抛弃该授权码并重定向到统一登录界面。
其中步骤5的更详细实施方式为:
(1)单点登录系统部署时,为每个系统设置单独的登录接口。登录接口分为两种,第一种是系统原生登录接口,自带登录功能的系统必须设置这种接口;另外一种为访问代理服务中的登录接口,全部系统都需要设置这种接口。
(2)从数据库中获取用户具有访问权限的子系统信息。
(3)成功登录界面,根据步骤2的返回结果和用户信息生成数个不可见的iframe框架,该框架的URL为单点登录服务器根据用户信息和具有子系统登录接口生成。当所有iframe访问完成后,界面会自动跳转到用户请求的URL。
(4)URL为第二种登录接口的iframe,会携带授权码向代理访问层发出请求,代理访问层根据请求信息,生成带有授权码信息的Cookie。
如图5所示,当用户访问第二个子系统时,会携带授权码向访问代理服务发出验证,其具体步骤为:
(1)用户向子系统2发出请求,访问代理服务首先接收该请求,并获得授权码。
(2)访问代理服务如果没有在自身找到该授权码信息,则以RPC协议并加密的方式向单点登录服务授权码验证模块发出验证请求。
(3)若验证通过则访问代理服务保存该登录信息,否则将重定向到统一登录界面。
(4)访问代理服务将请求转发给子系统。
(5)子系统处理请求后,发送回复信息给访问代理服务
(6)访问代理服务将子系统的回复转发给用户。
以上所述仅为本发明的实施例子而已,并不用于限制本发明,本发明对于数值计算中研究对象的精确显示尤其适用。凡在本发明的原则之内,所作的等同替换,均应包含在本发明的保护范围之内。本发明未作详细阐述的内容属于本专业领域技术人员公知的已有技术。

Claims (3)

1.一种面向系统集成的跨域单点登录方法,其特征在于,包括如下步骤:
步骤一:访问代理服务接收用户向子系统发出的请求,并检验该用户授权码,如果没有携带授权码则判断该用户是首次访问子系统并进入步骤二,如果携带授权码则判断该用户不是首次访问子系统并进入步骤三;
步骤二:访问代理服务将请求重定向到单点登录服务的统一登录界面并进入步骤四;
步骤三:判断用户不是首次访问子系统后,访问代理服务获得授权码并进入步骤六,如果访问代理服务的授权码缓存中没有找到该授权码信息,则以RPC协议并加密的方式向单点登录服务授权码验证模块发出验证请求,若验证通过则访问代理服务保存该授权码,否则将重定向到统一登录界面并进入步骤二;
步骤四:用户在单点登录服务的统一登录界面填写用户名、密码、是否免登陆;然后对于用户信息进行验证;
步骤五:用户信息验证通过后,通过授权码生成模块生成唯一授权码,使用模拟登陆实现所有子系统的登录,并将授权码发送到各个子系统的访问代理服务;
步骤六:对授权码进行验证,如果验证通过进入步骤七,如果验证不通过则抛弃该授权码并重新定向到统一登录界面返回步骤四;
步骤七:通过访问代理服务缓存该授权码,并在用户端生成含有授权码的Cookie;
步骤八:用户成功访问子系统,实现单点登录。
2.根据权利要求1所述的一种面向系统集成的跨域单点登录方法,其特征在于:所述授权码生成模块使用GUID生成全局唯一授权码,授权码管理模块以<用户名,授权码,生成时间,存活时间>的格式保存。
3.根据权利要求1所述的一种面向系统集成的跨域单点登录方法,其特征在于:所述步骤四中的免登陆最高可达30天。
CN201710038363.8A 2017-01-19 2017-01-19 一种面向系统集成的跨域单点登录方法 Active CN106612290B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710038363.8A CN106612290B (zh) 2017-01-19 2017-01-19 一种面向系统集成的跨域单点登录方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710038363.8A CN106612290B (zh) 2017-01-19 2017-01-19 一种面向系统集成的跨域单点登录方法

Publications (2)

Publication Number Publication Date
CN106612290A CN106612290A (zh) 2017-05-03
CN106612290B true CN106612290B (zh) 2020-04-03

Family

ID=58636317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710038363.8A Active CN106612290B (zh) 2017-01-19 2017-01-19 一种面向系统集成的跨域单点登录方法

Country Status (1)

Country Link
CN (1) CN106612290B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213546B (zh) * 2017-06-30 2021-09-07 武汉斗鱼网络科技有限公司 用于windows客户端程序的登录处理方法和装置
CN107483437A (zh) * 2017-08-14 2017-12-15 深圳市华傲数据技术有限公司 一种用户统一登录管理方法及装置
CN107819757B (zh) * 2017-10-31 2020-08-18 下一代互联网重大应用技术(北京)工程研究中心有限公司 基于cerid的虚机域名和证书系统及生成方法
CN107749858A (zh) * 2017-11-06 2018-03-02 郑州云海信息技术有限公司 一种端点之间切换方法及装置
CN107948167B (zh) * 2017-11-29 2020-11-06 浙江数链科技有限公司 一种单点登录的方法和装置
CN109145039B (zh) * 2017-12-25 2022-01-28 北极星云空间技术股份有限公司 一种适用于联邦制工作流集成的ui桥接的方法
CN108959902A (zh) * 2018-06-07 2018-12-07 北京百悟科技有限公司 一种多系统集成平台和方法、计算机可读存储介质
CN109302446B (zh) * 2018-08-15 2022-10-25 广州市保伦电子有限公司 跨平台访问方法、装置、电子设备及存储介质
CN109831408A (zh) * 2018-12-13 2019-05-31 平安万家医疗投资管理有限责任公司 单点登录子系统的登出方法及系统
CN109905365B (zh) * 2019-01-14 2020-10-09 江苏第二师范学院(江苏省教育科学研究院) 一种可分布式部署的单点登录及服务授权系统和方法
CN110149235B (zh) * 2019-05-28 2020-11-24 中山大学 一种支持多用户和多网络协议、可动态扩展的树状网络代理系统
CN110245176A (zh) * 2019-06-20 2019-09-17 中移电子商务有限公司 一种数据获取方法、装置、设备及介质
CN110266722A (zh) * 2019-07-05 2019-09-20 深圳市浩科电子有限公司 一种多途径访问服务器的方法及系统
CN110839070B (zh) * 2019-11-05 2023-01-13 中盈优创资讯科技有限公司 多系统管理装置及方法、远程系统、主系统
CN111800397A (zh) * 2020-06-23 2020-10-20 四川虹美智能科技有限公司 无形资产管理平台的登录方法、装置和系统
CN111935151B (zh) * 2020-08-11 2022-05-10 广州太平洋电脑信息咨询有限公司 一种跨域统一登录方法、装置、电子设备及存储介质
CN112637113B (zh) * 2020-09-04 2022-08-12 山东英信计算机技术有限公司 集成系统跨平台认证方法及相关组件
CN112637167A (zh) * 2020-12-15 2021-04-09 平安资产管理有限责任公司 系统登录方法、装置、计算机设备和存储介质
CN114422182B (zh) * 2021-12-13 2024-01-16 以萨技术股份有限公司 一种统一身份管理平台
CN114257583A (zh) * 2021-12-22 2022-03-29 贵州东彩供应链科技有限公司 一种解决jwt授权的安全下载方法
CN115190107B (zh) * 2022-07-07 2023-04-18 四川川大智胜系统集成有限公司 基于泛域名多子系统管理方法、管理终端及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506555A (zh) * 2015-01-06 2015-04-08 北京艾力泰尔信息技术有限公司 客户端零存储的单点登录方法
CN105592003A (zh) * 2014-10-22 2016-05-18 北京拓尔思信息技术股份有限公司 一种基于通知的跨域单点登录方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188237A (zh) * 2011-12-30 2013-07-03 盛大计算机(上海)有限公司 单点登录系统及方法
US20140189839A1 (en) * 2012-12-31 2014-07-03 Michal Jezek Single sign-on methods and apparatus therefor
US9294462B2 (en) * 2014-01-15 2016-03-22 Cisco Technology, Inc. Redirect to inspection proxy using single-sign-on bootstrapping
CN104113533B (zh) * 2014-07-02 2017-10-27 百度在线网络技术(北京)有限公司 登录授权方法和装置
CN105100068A (zh) * 2015-06-29 2015-11-25 北京京东尚科信息技术有限公司 一种实现单点登录的系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592003A (zh) * 2014-10-22 2016-05-18 北京拓尔思信息技术股份有限公司 一种基于通知的跨域单点登录方法及系统
CN104506555A (zh) * 2015-01-06 2015-04-08 北京艾力泰尔信息技术有限公司 客户端零存储的单点登录方法

Also Published As

Publication number Publication date
CN106612290A (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
CN106612290B (zh) 一种面向系统集成的跨域单点登录方法
CN106936853B (zh) 基于面向系统集成的跨域单点登录系统进行跨域单点登录的方法
US11218460B2 (en) Secure authentication for accessing remote resources
CN111556006B (zh) 第三方应用系统登录方法、装置、终端及sso服务平台
CN107277049B (zh) 一种应用系统的访问方法及装置
US8196193B2 (en) Method for retrofitting password enabled computer software with a redirection user authentication method
CN106209726B (zh) 一种移动应用单点登录方法及装置
CN111355726B (zh) 一种身份授权登录方法、装置及电子设备和存储介质
CN111131242A (zh) 一种权限控制方法、装置和系统
CN107347068A (zh) 单点登录方法及系统、电子设备
CN111147453A (zh) 系统登录方法以及集成登录系统
CN104506542A (zh) 安全认证方法和安全认证系统
US20240205216A1 (en) Cluster access method, electronic device and medium
CN104378376A (zh) 基于soa的单点登录方法、认证服务器和浏览器
CN106612246A (zh) 一种模拟身份的统一认证方法
WO2015143855A1 (zh) 一种对数据资源进行访问的方法、装置和系统
CN111062023B (zh) 多应用系统实现单点登录的方法及装置
CN112583834B (zh) 一种通过网关单点登录的方法和装置
WO2014048749A1 (en) Inter-domain single sign-on
CN107948148B (zh) 一种模拟代填的方法及装置
CN110493239B (zh) 鉴权的方法和装置
CN110086813A (zh) 访问权限控制方法和装置
JP2017097542A (ja) 認証制御プログラム、認証制御装置、及び認証制御方法
CN109962892A (zh) 一种登录应用的认证方法及客户端、服务器
CN111241523B (zh) 认证处理方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant