CN108200107A - 一种在多域环境中实现单点登录的方法 - Google Patents

一种在多域环境中实现单点登录的方法 Download PDF

Info

Publication number
CN108200107A
CN108200107A CN201810296394.8A CN201810296394A CN108200107A CN 108200107 A CN108200107 A CN 108200107A CN 201810296394 A CN201810296394 A CN 201810296394A CN 108200107 A CN108200107 A CN 108200107A
Authority
CN
China
Prior art keywords
user
domain
certificate server
sign
web application
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.)
Granted
Application number
CN201810296394.8A
Other languages
English (en)
Other versions
CN108200107B (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.)
Insigma Hengtian Software Ltd
Original Assignee
Insigma Hengtian Software Ltd
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 Insigma Hengtian Software Ltd filed Critical Insigma Hengtian Software Ltd
Priority to CN201810296394.8A priority Critical patent/CN108200107B/zh
Publication of CN108200107A publication Critical patent/CN108200107A/zh
Application granted granted Critical
Publication of CN108200107B publication Critical patent/CN108200107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种在多域环境中实现单点登录的方法。在多域环境中,每个域配置一个Kerberos认证服务器,各个认证服务器之间共享凭证,设置其中一个域的认证服务器作为默认的认证服务器。该方法通过在域控上设置组策略,使用户在登录到域中时执行脚本,将用户所属的域信息添加到浏览器的User‑Agent标识中。默认的认证服务器可根据该字段中的域信息将用户重定向到其所属域的认证服务器进行Kerberos认证。本发明方法有效解决了多域环境中的用户单点登录问题,域中的用户只需开机输入一次密码,便可访问所有应用系统。因为各个域认证服务器共享凭证,所以不会给Web应用程序增加额外的负担,Web应用程序只需和默认的认证服务器交互,和单域环境一样,无需关心多域环境的存在。

Description

一种在多域环境中实现单点登录的方法
技术领域
本发明涉及域控、组策略、浏览器、Kerberos认证技术,尤其涉及一种在多域环境中实现单点登录的方法。
背景技术
在企业日常工作中,用户可能需要访问许多的应用系统,如果每进入一个应用系统都输入一次密码的话,那么将会非常麻烦。于是单点登录的概念被提了出来,单点登录能够保证用户只登录一次,便可访问所有的应用系统。在企业中,IT部门通常使用LDAP用户身份管理系统,例如微软公司的Windows活动目录管理系统来管理计算机和用户,用户登录计算机,必须输入正确的用户名和密码向Windows域控制器(以下简称域控)认证自己的身份。因此用户在登录到域中后,其实已经向域控制器认证了自己的身份,再访问各个应用系统时,没有必要再次进行认证。关于这种单点登录方式,可以通过Kerberos认证方式来实现,常见的单点登录产品比如CAS(Central Authentication Service)就对其提供了支持。
但是在公司有多个域的情况下,认证就会变的很复杂,市面上也没有成熟的解决方案。多个域的用户进行Kerberos认证,需要建立多个认证服务器,而且必须保证用户到其所属域的认证服务器来完成认证。由于采用Kerberos认证,无需输入用户名和密码,所以不能够通过用户名来确定用户所属的域。另外,域中的用户一般也没有admin权限,所以通过修改hosts文件的方法也是行不通的。
发明内容
本发明的目的在于针对在多域环境中的复杂情况,提供一种实现单点登录的方法,用户只需开机输入一次密码,便可访问所有的应用程序。
本发明的目的是通过以下技术方案来实现的:在多域环境中,每个域配置一个Kerberos认证服务器,各个认证服务器之间共享凭证,设置其中一个域的认证服务器作为默认的认证服务器。在域控上配置用户的登陆策略,当用户登入计算机时执行脚本,将用户所属的域信息写入到浏览器的User-Agent标识中;当用户首次访问某一个Web应用程序时,Web应用程序把用户重定向到默认的认证服务器进行认证;默认的认证服务器会根据HTTP头部的User-Agent标识来判断用户所属的域,然后再次把用户重定向到该用户所属域的认证服务器进行认证;认证成功后,该认证服务器会在url中附上凭证把用户重定向回Web应用程序;Web应用程序拿到凭证后,向默认的认证服务器请求用户的身份信息;由于认证服务器之间共享凭证,所以默认的认证服务会将用户的身份信息返回;至此一次单点登录的过程完成。
一种在多域环境中基于上述方案实现单点登录的方法,包括以下步骤:
(1)用户在开机登入操作系统时,会执行域控上配置的组策略,将用户的域信息添加到各个浏览器的User-Agent标识中;
(2)用户打开浏览器访问Web应用程序;
(3)Web应用程序将用户重定向到默认的认证服务器进行认证;
(4)默认的认证服务器根据HTTP请求头部中User-Agent标识中的域信息把用户重定向到该用户所属域的认证服务器进行认证;
(5)用户所属域的认证服务器对用户进行Kerberos认证,用户无需输入用户名和密码;
(6)认证成功后,用户所属域的认证服务器在url中附上凭证,将用户重定向回Web应用程序;
(7)Web应用程序用用户所属域的认证服务器传过来的凭证,向默认的认证服务器请求用户的身份信息;
(8)由于各个认证服务器之间共享凭证,所以默认的认证服务器也会识别用户所属域的认证服务器的凭证,将用户的身份信息返回给Web应用程序,实现单点登录。
本发明的有益效果是:提供了一种在多域环境中实现单点登录的方法,用户只需开机输入一次密码,便可访问所有的应用程序。在本发明中,因为各个域认证服务器共享凭证,所以不会给Web应用程序增加额外的负担,Web应用程序只需和默认的认证服务器交互,和单域环境一样,无需关心多域环境的存在。
附图说明
图1是本发明的多域环境的认证服务器的体系结构图;
图2是在多域环境中实现单点登录的时序图。
具体实施方式
下面结合附图详细描述本发明,本发明的目的和效果将变得更加明显。
(1)本发明的系统架构
如图1所示,在多域环境中,给每个域分别配置一个Kerberos认证服务器,该认证服务器可以用开源产品CAS来实现。CAS和该域的活动目录AD相连,可以对用户进行Kerberos认证。将其中一个域的认证服务器设为默认的认证服务器,在图1中,将域C的认证服务器设为了默认的认证服务器。
各个域的认证服务器之间共享认证凭证,即Ticket。各个认证服务器的Ticket都存储在同一个Redis服务器中,即凭证存储服务器。
(2)将用户的域信息写入浏览器的User-Agent标识中。
在各个域控上设置用户的登录策略,使用户在开机的时候执行一段VBS脚本。用户登入操作系统后,环境变量%USEDOMAIN%会保存用户所属的域信息。该脚本会将%USERDOMIAN%写入到各个浏览器的User-Agent标识中。IE、Edge浏览器可以通过修改注册表来实现,Firfox可以通过修改配置文件来实现,Chrome浏览器可以通过在快捷方式添加启动参数来实现。
(3)多域环境下的单点登录的流程
如图2所示,当多域环境中的某个用户访问某个Web应用程序时,浏览器会在HTTP头部的User-Agent字段带着用户的域信息向Web应用程序发出请求。Web应用程序检测到用户没有登录,于是把用户重定向到默认的认证服务器。浏览器向默认的认证服务器发出请求,在HTTP头部中带着用户的域信息。默认的认证服务器根据HTTP头部中的用户的域信息,进行判断。如果HTTP中的域信息和自己的域一致,则对该用户进行认证,否则将用户重定向到该用户所属域的服务器进行认证。如图2中所示,用户的域和默认的认证服务器的域不一致。于是浏览器又向用户所属域的服务器发起请求,用户所属域的认证服务器收到认证请求后,检查HTTP头部中域信息和自己的域信息一致,于是和活动目录AD配合,对用户完成Kerberos认证。用户所属域的认证服务器对用户完成认证后,会成一个凭证(Ticket),并将其和用户的身份信息一起存入到凭证存储服务器中,然后将Ticket附在Url中再次将用户重定向回Web应用程序。浏览器带着Ticket向Web应用程序发出请求,Web应用程序收到Ticket后会把它传给默认的认证服务器,默认的认证服务器收到Ticket后,会在共享的凭证存储服务器中查到它,并把用户的身份信息返回给Web应用程序。Web应用程序收到用户的身份信息后,完成对用户的身份认证,于是把响应返回浏览器。至此,一次单点登录完成。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (5)

1.一种在多域环境中实现单点登录的方法,其特征在于,该方法包括以下步骤:
(1)在多域环境中,每个域配置一个Kerberos认证服务器,各个认证服务器之间共享凭证,设置其中一个域的认证服务器作为默认的认证服务器;
(2)用户在开机登入操作系统时执行域控组策略,将用户的域信息添加到浏览器的User-Agent标识中;
(3)用户首次访问Web应用程序时,Web应用程序把用户重定向到默认的认证服务器进行认证;
(4)默认的认证服务器根据HTTP头部中的User-Agent标识来判断用户所属的域,把用户重定向到用户所属的域认证服务器进行认证;
(5)用户所属域的认证服务器对用户完成Kerberos认证后,带着凭证把用户重定向回Web应用程序;
(6)Web应用程序用传过来的凭证向默认的认证服务器请求用户的身份信息;
(7)默认的认证服务器检查凭证,返回用户的身份信息给Web应用程序;
(8)Web应用程序收到用户的身份信息后,完成对用户的身份认证,把响应返回浏览器,实现单点登录。
2.根据权利要求1所述的一种在多域环境中实现单点登录的方法,其特征在于,所述Kerberos认证服务器用开源产品CAS来实现,CAS和该域的活动目录AD相连,可以对用户进行Kerberos认证。
3.根据权利要求1所述的一种在多域环境中实现单点登录的方法,其特征在于,各个域的认证服务器之间共享认证凭证,各个认证服务器的凭证都存储在同一个Redis服务器中。
4.根据权利要求1所述的一种在多域环境中实现单点登录的方法,其特征在于,在各个域控上设置用户的登录策略,使用户在开机的时候执行一段VBS脚本,用户登入操作系统后,环境变量%USEDOMAIN%会保存用户所属的域信息;该脚本会将%USERDOMIAN%写入到各个浏览器的User-Agent标识中。
5.根据权利要求1所述的一种在多域环境中实现单点登录的方法,其特征在于,将用户的域信息添加到浏览器的User-Agent标识中,IE、Edge浏览器可以通过修改注册表来实现,Firfox可以通过修改配置文件来实现,Chrome浏览器可以通过在快捷方式添加启动参数来实现。
CN201810296394.8A 2018-03-30 2018-03-30 一种在多域环境中实现单点登录的方法 Active CN108200107B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810296394.8A CN108200107B (zh) 2018-03-30 2018-03-30 一种在多域环境中实现单点登录的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810296394.8A CN108200107B (zh) 2018-03-30 2018-03-30 一种在多域环境中实现单点登录的方法

Publications (2)

Publication Number Publication Date
CN108200107A true CN108200107A (zh) 2018-06-22
CN108200107B CN108200107B (zh) 2020-08-14

Family

ID=62596359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810296394.8A Active CN108200107B (zh) 2018-03-30 2018-03-30 一种在多域环境中实现单点登录的方法

Country Status (1)

Country Link
CN (1) CN108200107B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110765192A (zh) * 2019-10-18 2020-02-07 广东省城乡规划设计研究院 一种基于云平台的gis数据管理及处理方法
CN111125674A (zh) * 2019-12-20 2020-05-08 中国银联股份有限公司 开放式数据处理系统、开放式数据系统及数据处理方法
CN114422187A (zh) * 2021-12-21 2022-04-29 航天信息股份有限公司 一种支持web互认证的方法及系统
CN115022047A (zh) * 2022-06-02 2022-09-06 鸬鹚科技(深圳)有限公司 基于多云网关的账户登录方法、装置、计算机设备及介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030075809A (ko) * 2002-03-20 2003-09-26 유디에스 주식회사 멀티도메인으로 구성된 웹사이트에서 단일 로그인에 의한접속자 인증 방법
US7010582B1 (en) * 2000-06-26 2006-03-07 Entrust Limited Systems and methods providing interactions between multiple servers and an end use device
CN1897523A (zh) * 2006-06-26 2007-01-17 北京金山软件有限公司 一种实现单点登录的系统及方法
US20080155029A1 (en) * 2006-12-21 2008-06-26 Verizon Data Services Inc. Method and Apparatus for Group Messaging
CN101605031A (zh) * 2008-06-13 2009-12-16 新奥特(北京)视频技术有限公司 一种面向电视台应用的跨域单点登陆系统
US7698734B2 (en) * 2004-08-23 2010-04-13 International Business Machines Corporation Single sign-on (SSO) for non-SSO-compliant applications
US20120254429A1 (en) * 2011-03-31 2012-10-04 International Business Machine Corporation Non-Intrusive Single Sign-On Mechanism in Cloud Services
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器
CN103631597A (zh) * 2013-12-09 2014-03-12 中博信息技术研究院有限公司 基于xml的web表单引擎装置及方法
WO2014048749A1 (en) * 2012-09-29 2014-04-03 Siemens Aktiengesellschaft Inter-domain single sign-on
CN106936853A (zh) * 2017-04-26 2017-07-07 河海大学 一种面向系统集成的跨域单点登录系统及方法
CN107819722A (zh) * 2016-09-10 2018-03-20 长沙有干货网络技术有限公司 一种基于Cookie的统一认证系统的设计方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010582B1 (en) * 2000-06-26 2006-03-07 Entrust Limited Systems and methods providing interactions between multiple servers and an end use device
KR20030075809A (ko) * 2002-03-20 2003-09-26 유디에스 주식회사 멀티도메인으로 구성된 웹사이트에서 단일 로그인에 의한접속자 인증 방법
US7698734B2 (en) * 2004-08-23 2010-04-13 International Business Machines Corporation Single sign-on (SSO) for non-SSO-compliant applications
CN1897523A (zh) * 2006-06-26 2007-01-17 北京金山软件有限公司 一种实现单点登录的系统及方法
US20080155029A1 (en) * 2006-12-21 2008-06-26 Verizon Data Services Inc. Method and Apparatus for Group Messaging
CN101605031A (zh) * 2008-06-13 2009-12-16 新奥特(北京)视频技术有限公司 一种面向电视台应用的跨域单点登陆系统
US20120254429A1 (en) * 2011-03-31 2012-10-04 International Business Machine Corporation Non-Intrusive Single Sign-On Mechanism in Cloud Services
WO2014048749A1 (en) * 2012-09-29 2014-04-03 Siemens Aktiengesellschaft Inter-domain single sign-on
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器
CN103631597A (zh) * 2013-12-09 2014-03-12 中博信息技术研究院有限公司 基于xml的web表单引擎装置及方法
CN107819722A (zh) * 2016-09-10 2018-03-20 长沙有干货网络技术有限公司 一种基于Cookie的统一认证系统的设计方法
CN106936853A (zh) * 2017-04-26 2017-07-07 河海大学 一种面向系统集成的跨域单点登录系统及方法

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
ASHISH G. REVAR, MADHURI D. BHAVSAR: "《Securing user authentication using single sign-on in Cloud Computing》", 《2011 NIRMA UNIVERSITY INTERNATIONAL CONFERENCE ON ENGINEERING》 *
MANAGEMENT D. KARUNANITHI, B. KIRUTHIKA: "《Single Sign-On and single log out in identity management》", 《 INTERNATIONAL CONFERENCE ON NANOSCIENCE, ENGINEERING AND TECHNOLOGY》 *
MS. RINKY G. CHHATWANI,DR.D.G.HARKUT: "《Implementation of Single Sign-On Mechanism for Distributed Computing》", 《INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND MOBILE COMPUTING》 *
伍孟轩,李伟,易叔海,程蒙,刘川: "《跨域单点登录解决方案研究》", 《网络安全技术与应用》 *
吴君楠,黎铁军,袁远,隋荣恒: "《一种安全高效的跨域单点登录系统设计与实现》", 《信息系统与数据处理》 *
李希能: "《统一身份认证与单点登录系统的设计与实现》", 《中国硕士学位论文全文数据库》 *
袁梁: "《基于CAS的数字校园单点登录系统》", 《中国硕士学位论文全文数据库》 *
贾淑红,刘万军: "《基于Kerberos协议的单点登录系统的设计》", 《网络与信息安全》 *
邵叶秦,张小荣,施佺: "《复杂异构应用环境下Kerberos单点登录系统的设计》", 《电脑知识与技术》 *
郭豪,王国才,罗聘: "《一种基于Cookie的跨域单点登录方案设计》", 《计算机工程与科学》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110765192A (zh) * 2019-10-18 2020-02-07 广东省城乡规划设计研究院 一种基于云平台的gis数据管理及处理方法
CN111125674A (zh) * 2019-12-20 2020-05-08 中国银联股份有限公司 开放式数据处理系统、开放式数据系统及数据处理方法
CN111125674B (zh) * 2019-12-20 2022-03-22 中国银联股份有限公司 开放式数据处理系统、开放式数据系统及数据处理方法
CN114422187A (zh) * 2021-12-21 2022-04-29 航天信息股份有限公司 一种支持web互认证的方法及系统
CN115022047A (zh) * 2022-06-02 2022-09-06 鸬鹚科技(深圳)有限公司 基于多云网关的账户登录方法、装置、计算机设备及介质
CN115022047B (zh) * 2022-06-02 2024-04-19 鸬鹚科技(深圳)有限公司 基于多云网关的账户登录方法、装置、计算机设备及介质

Also Published As

Publication number Publication date
CN108200107B (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
EP3445015B1 (en) Methods and devices for accessing protected applications
US8701199B1 (en) Establishing a trusted session from a non-web client using adaptive authentication
US11930015B2 (en) Systems and method for authenticating users of a data processing platform from multiple identity providers
US8782765B2 (en) Techniques for environment single sign on
US9104848B2 (en) Cross-platform authentication from within a rich client
CN104320423B (zh) 基于Cookie的单点登录轻量级实现方法
CN105007280B (zh) 一种应用登录方法和装置
US9106642B1 (en) Synchronizing authentication sessions between applications
JP6256116B2 (ja) 通信端末、セキュアログイン方法、及びプログラム
CN108200107A (zh) 一种在多域环境中实现单点登录的方法
CN104836803B (zh) 基于session机制的单点登录方法
US8832857B2 (en) Unsecured asset detection via correlated authentication anomalies
CN112995219B (zh) 一种单点登录方法、装置、设备及存储介质
US20080168539A1 (en) Methods and systems for federated identity management
EP2362602A1 (en) Techniques for managing a secure communication session
CN107690792A (zh) 未经管理的移动设备的单点登录
CN110032842B (zh) 同时支持单点登录及第三方登录的方法和系统
US8650405B1 (en) Authentication using dynamic, client information based PIN
EP3488589B1 (en) Login proxy for third-party applications
CN104994102A (zh) 一种基于反向代理的企业信息系统认证和访问控制的方法
CN110519296A (zh) 一种异构web系统的单点登录与登出方法
CN110069909A (zh) 一种免密登录第三方系统的方法及装置
CN110247758A (zh) 密码管理的方法、装置及密码管理器
CN110830512A (zh) 一种基于域帐户多平台统一认证系统
CN113992408B (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