CN104836803A - 基于session机制的单点登录方法 - Google Patents
基于session机制的单点登录方法 Download PDFInfo
- Publication number
- CN104836803A CN104836803A CN201510201212.0A CN201510201212A CN104836803A CN 104836803 A CN104836803 A CN 104836803A CN 201510201212 A CN201510201212 A CN 201510201212A CN 104836803 A CN104836803 A CN 104836803A
- Authority
- CN
- China
- Prior art keywords
- session
- information
- cookie
- logging method
- systems
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于session机制的单点登录方法,本发明的作用是解决了多次重复登录应用系统的问题,在多个应用系统中,用户只需要登录一次就可以访问相互信任的应用系统。在本发明中,单点登录的方法,通过session共享实现子系统之间信息的传递。信息共享的关键在于对于不同的客户的识别,对客户端携带的信息与服务器上保存相应的信息进行比对,从而识别客户端。实现不同子系统共享session时,必须要将其cookie信息的作用域改写为所有域名下,实现在不同子系统上,同一浏览器上传相同的session信息。
Description
技术领域
本发明涉及软件应用系统开发的单点登录方法,作用是方便用户访问网络资源。
背景技术
使用单点登录方法的单点登录系统整合了过去分散在各应用系统中的信息资源,为更进一步的用户个性化服务打下了基础。在多个应用系统中,用户只需要登录一次就可以访问相互信任的应用系统。
单点登录的机制是:对于没有访问过的用户,第一次登录时,首先到登录系统入口进行登录的认证;对于登录用户提交的各种信息,登录系统经过验证,如果该用户身份通过验证,则登录系统会产生一个有效的身份认证的标识返回给用户;用户即可访问该子系统;如果该用户需要访问其它的子系统的时候,携带着系统返回的身份认证标识,请求子系统访问的权限,子系统收到请求后,会对该用户的身份标识进行验证,检查其合法性,如果通过了验证,该用户可以直接访问这个应用系统。
使用单点登录方法单点登录系统把原来自由分散的用户进行统一的管理,降低了系统的管理难度。这样统一的管理,各系统之间通过信息传递来进行用户身份的自动认证。同时由于用户的信息是集中管理和维护的,那么管理员的工作量也会大大的减少。
单点登录的实现机制不尽相同,大体分为Cookie机制和Session机制两大类。Cookie 是一种客户端机制,本身具有一定的安全局限性和跨域访问局限性。为了保证客户的安全,Cookie文本按域名区分存储,Web 服务器就不能读取其它域存放在客户机的 Cookie 文本。如果要实现基于Cookie的单点登录,就需要用其它技术或通讯,使Web服务器之间或Web服务器与认证服务器之间交互信息。Session 是一种服务器端机制,是记录在服务器端的连接记号对象,每个用户与Web 服务器连接都会产生一个独立的 Session 对象。基于 Session 机制对于服务器管理来说是比较理想的。
单点登录系统实现的目标主要有以下几点。
1.从信息的角度看
单点登录系统减少了信息的重叠,实现了信息的有效共享。以往不同的应用系统中,许多基础的信息可能会存在每个应用系统中,那么就造成了一定的信息重叠。而单点登录系统则通过各子系统间的信息传递实现了不同子系统之间的信息共享。
2.从用户的角度看
使用单点登录,减少了重复的登陆验证,操作方便。用户不用每登陆子系统输入一遍用户信息,而是一次登录,验证通过即可通过各个子系统的接口访问有权限的子系统。
3.从管理者的角度看
使用单点登录,减轻了管理的难度,实现了统一管理。
4.从安全的角度看
使用单点登录,安全性相对提高。用户不必一一记录每个应用系统的身份信息进行登录。
发明内容
基于session机制的单点登录方法,解决了多次重复登录应用系统的问题,非常适用于目前广泛的中小型应用系统,具有很好的安全性、灵活性和可靠性。它操作简单,管理方便且无需硬件或“第三方”服务的支持,成本非常低廉。
本发明涉及一种新的单点登录方法,该方法原理如下。
1. 单点登录的方法:通过session共享实现子系统之间信息的传递。
2. Session信息对于不同的客户的识别:session除在服务器上保存相应的信息外,必须对客户端上传的信息进行识别。而这个信息来源于客户端的cookie信息,在客户端初次登陆时,由系统进行一个sessionid的统一分配,而后客户端携带该信息进行访问时取出相应的sessionid信息,并与服务器上保存的相应的的sessionid进行比对,从而识别客户端。
3. 客户端信息的记录:客户在保存cookie时并未真正保存相应的sessionid,该属性值是存在于浏览器进程中。而关闭并重新浏览后,cookie虽可上传,但其中的sessionid信息已经发生了变化。实现不同子系统共享session时,必须要将其cookie信息的作用域改写为所有域名下,实现在不同子系统上,同一浏览器上传相同的session信息(sessionid)。
4. session信息生成方式:不同站点中的session信息的产生必须要同步。协调不同的站内进行相同的session生成机制。
该单点登录方法的实现方式如下。
1.浏览器使用进程内的session事实上是由隐形的cookie实现,利用各站点的cookie重写技术,重写cookie的作用域必须为主域(不带二级域名)。使cookie在不同的二级域名下实现cookie共享。该技术用DomainCookie方式实现,并在web.config等配置节中实现。
2.服务器端使用相同的sessionid分发,采用直接的数据库技术实现统一。同样在web.config等配置文件中实现。
具体实施方式
1. 客户端需求布署
所需文件,DomainCookie.dll,顶级域名: sun.com,域名:user.sun.com。
(1)Web.config文件配置中添加<httpModules>配署
<httpModules>
<add name=”Domain” type=”DomainCookie.Domain,DomainCookie”/>
</httpModules>
说明:httpModules是入口点,配置后使用请求入口点生效,每个请求都会由domaincookie.dll处理,该程序处理时会将所有的cookie信息对于全部域名有效。其中name是配置名称,标识使用的模块。Type是配置的程序集。按“类名全称,程序集”的方式布署。
(2)添加所需要的appsetting属性
<appSettings>
<add key=”RootDomain” value=”sun.com” />
</appsettings>
说明:该配置表示系统中要使用的域名,key的值为dll文件中所需要的变量名称,不能更改,且必须对应大小写。Value中的值应当是使用的顶级域名(又称主域名,根域名),不能带二级域名的名称。如果当前的子系统中用的域名是user.sun.com,这里必须为sun.com,不能是其他。如果改写为其他域名,则cookie无法带上来。
(3)配置检验
该配置为保证cookie信息对所有二级域名生效。配置完后,建立页面测试,向cookie中写入任意一个cookie值。
然后让其再进行求请获得cookie,并获得cookie中的domain属性,配置成功后能取到cookie,且其domain属性为appsettings中所设置的一样。不得为二级域名如user.sun.com。否则配置失败。
2. 服务端需求布署
数据库实例:用户名为Sessioner,密码为123456。
配置步骤:
(1)先测试一下数据库
请使用用户名Sessioner,密码为123456,确认数据库连接成功。
(2)配置web.config
<sessionState mode="SQLServer" sqlConnectionString="server=127.0.0.1; uid=Sessioner; pwd=123456;"/>
3. 子系统权限认证方案
(1)用户均通过中心认证,调用接口LoginSystem,传UserName,TimeStamp,
VerifyCode,及相应的认证有时间TimeSpan。
(2)各子系统间共享session,如果登陆失败时,提示向中心认证。
(3)各子系统间的用户信息通过session变量进行传递。
(4)登陆参数设置。
表1 登陆上行参数
说明:校验码的VerifyCode的获得,LoginName+MD5(password)+TimeStamp然后再进行MD5校验。其中MD5校验字符串均采用大写。
表2 登陆响应参数
表3 登陆响应码
登陆时由中心直接认证的,认证成功时,使用session[“UserID”]变量存储UserID,session[“UserName”]存储其相应UserName,session[“UserTypeID”]存储其UserTypeID。子系统中若获取不到相应的session变量,直接转向中心认证进行重新的认证与鉴权!若存在系统中直接使用Session变量。
Claims (9)
1.基于session机制的单点登录方法(在后面的叙述中简称为单点登录方法),其特征在于,包括该方法的原理、参数和技术实现。
2.根据权利要求1所述的单点登录方法,其特征在于,该单点登录方法适用于各自功能独立的应用系统,各个子系统可以独立开发。
3.根据权利要求1至2所述的单点登录方法,其特征在于,使用该方法的应用系统的不同子系统可以独立部署,并且各自通过调用接口访问不同子系统信息资源,应用程序中的不同子系统通过session实现信息传递。
4.根据权利要求1至3所述的单点登录方法,其特征在于,session信息对于不同客户的识别:当客户在客户端进行初次登陆时,由服务器端进行一个sessionid的统一分配,之后客户端携带该信息进行访问时与数据库中的信息进行比对,从而识别客户端。
5.根据权利要求1至4所述的单点登录方法,其特征在于,实现不同子系统共享session时,必须要将其cookie信息的作用域改写为所有域名下,实现在不同子系统上,同一浏览器上传相同的session信息(sessionid)。
6.根据权利要求1至5所述的单点登录方法,其特征在于,不同子系统中的session信息的产生必须要同步,协调不同的子系统内进行相同的session生成机制。
7.根据权利要求1至6所述的单点登录方法,其特征在于,在用户中心为所有子系统提供用户验证服务,用户在用户中心登录,调用登录系统接口传入参数,认证成功时,使用session变量存储用户信息。
8.根据权利要求1至7所述的单点登录方法,浏览器使用进程内的session事实上是由隐形的cookie实现,利用各站点的cookie重写技术,重写cookie的作用域。
9.根据权利要求1至8所述的单点登录方法,其特征在于,重写cookie的作用域必须为主域(不带二级域名),使cookie在不同的二级域名下实现cookie共享。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510201212.0A CN104836803B (zh) | 2015-04-24 | 2015-04-24 | 基于session机制的单点登录方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510201212.0A CN104836803B (zh) | 2015-04-24 | 2015-04-24 | 基于session机制的单点登录方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104836803A true CN104836803A (zh) | 2015-08-12 |
CN104836803B CN104836803B (zh) | 2018-04-17 |
Family
ID=53814439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510201212.0A Expired - Fee Related CN104836803B (zh) | 2015-04-24 | 2015-04-24 | 基于session机制的单点登录方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104836803B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105472029A (zh) * | 2015-12-29 | 2016-04-06 | 锐达互动科技股份有限公司 | 一种基于缓存的单点登录的方法及系统 |
CN106790750A (zh) * | 2016-12-16 | 2017-05-31 | 国云科技股份有限公司 | 一种基于bs架构在不同域名下允许用户同名的方法 |
CN107040543A (zh) * | 2017-04-26 | 2017-08-11 | 努比亚技术有限公司 | 单点登录方法、终端及存储介质 |
CN107819757A (zh) * | 2017-10-31 | 2018-03-20 | 下代互联网重大应用技术(北京)工程研究中心有限公司 | 基于cerid的虚机域名和证书系统及生成方法 |
CN108293053A (zh) * | 2015-12-21 | 2018-07-17 | 思科技术公司 | 经由浏览器对客户端应用进行单点登录验证 |
CN108388657A (zh) * | 2018-03-06 | 2018-08-10 | 五八有限公司 | cookie存储方法、装置、设备及可读存储介质 |
CN108683651A (zh) * | 2018-05-04 | 2018-10-19 | 山东汇贸电子口岸有限公司 | 一种单点登录方法、服务端及系统 |
US10122701B2 (en) | 2015-11-24 | 2018-11-06 | Red Hat, Inc. | Cross-domain single login |
CN109246076A (zh) * | 2018-08-01 | 2019-01-18 | 北京奇虎科技有限公司 | 一种单点登录多系统的方法和装置 |
CN111064731A (zh) * | 2019-12-23 | 2020-04-24 | 北京神州绿盟信息安全科技股份有限公司 | 一种浏览器请求的访问权限的识别方法、识别装置及终端 |
CN114679302A (zh) * | 2022-03-01 | 2022-06-28 | 中信百信银行股份有限公司 | 对接单点登陆类系统的方法、装置、设备及存储介质 |
CN114978779A (zh) * | 2022-08-01 | 2022-08-30 | 广州市保伦电子有限公司 | 一种web账号登录的数据处理方法、装置及终端设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045329A (zh) * | 2009-10-22 | 2011-05-04 | 中国移动通信集团公司 | 一种单点登录方法、登录发起终端、目标终端和验证中心 |
CN103179134A (zh) * | 2013-04-19 | 2013-06-26 | 中国建设银行股份有限公司 | 基于Cookie的单点登录方法、系统及其应用服务器 |
KR20130099536A (ko) * | 2012-02-29 | 2013-09-06 | 이니텍(주) | 모바일 환경에서의 서버 기반 싱글 사인온 방법 |
CN104320394A (zh) * | 2014-10-24 | 2015-01-28 | 华迪计算机集团有限公司 | 单点登录的实现方法和系统 |
US20150089614A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Single sign-on between multiple data centers |
-
2015
- 2015-04-24 CN CN201510201212.0A patent/CN104836803B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045329A (zh) * | 2009-10-22 | 2011-05-04 | 中国移动通信集团公司 | 一种单点登录方法、登录发起终端、目标终端和验证中心 |
KR20130099536A (ko) * | 2012-02-29 | 2013-09-06 | 이니텍(주) | 모바일 환경에서의 서버 기반 싱글 사인온 방법 |
CN103179134A (zh) * | 2013-04-19 | 2013-06-26 | 中国建设银行股份有限公司 | 基于Cookie的单点登录方法、系统及其应用服务器 |
US20150089614A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Single sign-on between multiple data centers |
CN104320394A (zh) * | 2014-10-24 | 2015-01-28 | 华迪计算机集团有限公司 | 单点登录的实现方法和系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10122701B2 (en) | 2015-11-24 | 2018-11-06 | Red Hat, Inc. | Cross-domain single login |
CN108293053A (zh) * | 2015-12-21 | 2018-07-17 | 思科技术公司 | 经由浏览器对客户端应用进行单点登录验证 |
CN105472029A (zh) * | 2015-12-29 | 2016-04-06 | 锐达互动科技股份有限公司 | 一种基于缓存的单点登录的方法及系统 |
CN105472029B (zh) * | 2015-12-29 | 2019-06-21 | 锐达互动科技股份有限公司 | 一种基于缓存的单点登录的方法及系统 |
CN106790750A (zh) * | 2016-12-16 | 2017-05-31 | 国云科技股份有限公司 | 一种基于bs架构在不同域名下允许用户同名的方法 |
CN107040543A (zh) * | 2017-04-26 | 2017-08-11 | 努比亚技术有限公司 | 单点登录方法、终端及存储介质 |
CN107819757B (zh) * | 2017-10-31 | 2020-08-18 | 下一代互联网重大应用技术(北京)工程研究中心有限公司 | 基于cerid的虚机域名和证书系统及生成方法 |
CN107819757A (zh) * | 2017-10-31 | 2018-03-20 | 下代互联网重大应用技术(北京)工程研究中心有限公司 | 基于cerid的虚机域名和证书系统及生成方法 |
CN108388657A (zh) * | 2018-03-06 | 2018-08-10 | 五八有限公司 | cookie存储方法、装置、设备及可读存储介质 |
CN108388657B (zh) * | 2018-03-06 | 2022-04-05 | 五八有限公司 | cookie存储方法、装置、设备及可读存储介质 |
CN108683651A (zh) * | 2018-05-04 | 2018-10-19 | 山东汇贸电子口岸有限公司 | 一种单点登录方法、服务端及系统 |
CN109246076A (zh) * | 2018-08-01 | 2019-01-18 | 北京奇虎科技有限公司 | 一种单点登录多系统的方法和装置 |
CN109246076B (zh) * | 2018-08-01 | 2022-11-04 | 北京奇虎科技有限公司 | 一种单点登录多系统的方法和装置 |
CN111064731B (zh) * | 2019-12-23 | 2022-02-15 | 绿盟科技集团股份有限公司 | 一种浏览器请求的访问权限的识别方法、识别装置及终端 |
CN111064731A (zh) * | 2019-12-23 | 2020-04-24 | 北京神州绿盟信息安全科技股份有限公司 | 一种浏览器请求的访问权限的识别方法、识别装置及终端 |
CN114679302A (zh) * | 2022-03-01 | 2022-06-28 | 中信百信银行股份有限公司 | 对接单点登陆类系统的方法、装置、设备及存储介质 |
CN114679302B (zh) * | 2022-03-01 | 2024-05-10 | 中信百信银行股份有限公司 | 对接单点登陆类系统的方法、装置、设备及存储介质 |
CN114978779A (zh) * | 2022-08-01 | 2022-08-30 | 广州市保伦电子有限公司 | 一种web账号登录的数据处理方法、装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104836803B (zh) | 2018-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104836803A (zh) | 基于session机制的单点登录方法 | |
US8327434B2 (en) | System and method for implementing a proxy authentication server to provide authentication for resources not located behind the proxy authentication server | |
CN105007280B (zh) | 一种应用登录方法和装置 | |
US9686272B2 (en) | Multi factor user authentication on multiple devices | |
CN108964885B (zh) | 鉴权方法、装置、系统和存储介质 | |
EP2984589B1 (en) | System and method for mobile single sign-on integration | |
US8635671B2 (en) | Systems and methods for a security delegate module to select appropriate security services for web applications | |
US9584615B2 (en) | Redirecting access requests to an authorized server system for a cloud service | |
CN104378376A (zh) | 基于soa的单点登录方法、认证服务器和浏览器 | |
CN105049427B (zh) | 应用系统登录账号的管理方法及装置 | |
CN105812350B (zh) | 一种跨平台单点登录系统 | |
US7895644B1 (en) | Method and apparatus for accessing computers in a distributed computing environment | |
CN107872455A (zh) | 一种跨域单点登录系统及其方法 | |
CN109165500A (zh) | 一种基于跨域技术的单点登录认证系统及方法 | |
CN106161364A (zh) | 一种基于移动终端的个人认证凭证管理方法及系统 | |
Mukhopadhyay et al. | An Anti-Phishing mechanism for single sign-on based on QR-code | |
US20160212123A1 (en) | System and method for providing a certificate by way of a browser extension | |
US20150317463A1 (en) | Active directory for user authentication in a historization system | |
CN103634111A (zh) | 单点登录方法和系统及单点登录客户端 | |
CN105577667A (zh) | 多帐号一键登录及认证机制 | |
Binu et al. | A mobile based remote user authentication scheme without verifier table for cloud based services | |
US11750597B2 (en) | Unattended authentication in HTTP using time-based one-time passwords | |
Wang et al. | Research on cross-platform unified resource access control management system | |
Köhler et al. | Federating hpc access via saml: Towards a plug-and-play solution | |
Koundinya et al. | A review on single sign on as an authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180417 Termination date: 20190424 |
|
CF01 | Termination of patent right due to non-payment of annual fee |