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

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

Info

Publication number
CN108200107B
CN108200107B CN201810296394.8A CN201810296394A CN108200107B CN 108200107 B CN108200107 B CN 108200107B CN 201810296394 A CN201810296394 A CN 201810296394A CN 108200107 B CN108200107 B CN 108200107B
Authority
CN
China
Prior art keywords
user
domain
authentication server
authentication
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.)
Active
Application number
CN201810296394.8A
Other languages
English (en)
Other versions
CN108200107A (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

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
    • 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)默认的认证服务器根据浏览器头部中的User-Agent标识来判断用户所属的域,把用户重定向到用户所属的域认证服务器进行认证;
(5)用户所属域的认证服务器对用户完成Kerberos认证后,认证服务器在url中附上凭证并把用户重定向回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 CN108200107A (zh) 2018-06-22
CN108200107B true 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)

Families Citing this family (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数据管理及处理方法
CN111125674B (zh) * 2019-12-20 2022-03-22 中国银联股份有限公司 开放式数据处理系统、开放式数据系统及数据处理方法
CN114422187A (zh) * 2021-12-21 2022-04-29 航天信息股份有限公司 一种支持web互认证的方法及系统
CN115022047B (zh) * 2022-06-02 2024-04-19 鸬鹚科技(深圳)有限公司 基于多云网关的账户登录方法、装置、计算机设备及介质

Family Cites Families (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
CN100586066C (zh) * 2006-06-26 2010-01-27 北京金山软件有限公司 一种实现单点登录的系统及方法
US8130917B2 (en) * 2006-12-21 2012-03-06 Verizon Data Services Llc Method and apparatus for group messaging
CN101605031A (zh) * 2008-06-13 2009-12-16 新奥特(北京)视频技术有限公司 一种面向电视台应用的跨域单点登陆系统
CN102739603B (zh) * 2011-03-31 2015-10-21 国际商业机器公司 单点登录的方法和设备
CN103716292A (zh) * 2012-09-29 2014-04-09 西门子公司 一种跨域的单点登录的方法和设备
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器
CN103631597B (zh) * 2013-12-09 2017-03-08 中博信息技术研究院有限公司 基于xml的web表单引擎装置及方法
CN107819722A (zh) * 2016-09-10 2018-03-20 长沙有干货网络技术有限公司 一种基于Cookie的统一认证系统的设计方法
CN106936853B (zh) * 2017-04-26 2020-12-29 河海大学 基于面向系统集成的跨域单点登录系统进行跨域单点登录的方法

Also Published As

Publication number Publication date
CN108200107A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN108200107B (zh) 一种在多域环境中实现单点登录的方法
US8561137B2 (en) Techniques for identity authentication of virtualized machines
CN102265255B (zh) 通过凭证的逐步到期来提供联合认证服务的系统和方法
US9762568B2 (en) Consolidated authentication
US8015301B2 (en) Policy and attribute based access to a resource
US9104848B2 (en) Cross-platform authentication from within a rich client
JP4782986B2 (ja) パブリックキー暗号法を用いたインターネット上でのシングルサインオン
O’Malley et al. Hadoop security design
US9021570B2 (en) System, control method therefor, service providing apparatus, relay apparatus and computer-readable medium
US8327434B2 (en) System and method for implementing a proxy authentication server to provide authentication for resources not located behind the proxy authentication server
US8327427B2 (en) System and method for transparent single sign-on
CN112995219B (zh) 一种单点登录方法、装置、设备及存储介质
US20040064687A1 (en) Providing identity-related information and preventing man-in-the-middle attacks
EP1830512B1 (en) A method and system for realizing the domain authentication and network authority authentication
US20160337338A1 (en) Late binding authentication
KR20040049272A (ko) 네트워크 위치의 하위 위치에 대한 사용자의 인증을 위한방법 및 시스템
JP2013510351A (ja) 遠隔ユーザ・セッションのためのシングル・サインオン
WO2014048749A1 (en) Inter-domain single sign-on
CN111953681B (zh) 一种dns身份认证方法及终端
US9009799B2 (en) Secure access
KR101839049B1 (ko) 서버단 세션 관리 방식 및 쿠키 정보 공유 방식을 병행 지원하는 싱글 사인온 인증 방법
CN116055151A (zh) 业务权限令牌获取方法、系统、电子设备及存储介质
EP1631032B1 (en) policy and attribute-based access to a resource
WO2024037976A1 (en) Managing dynamic access control and single log-out for current and future sessions in federated identity management systems
Samuel et al. An Overview of the Implementation of CILogon at NICS

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