CN104506555A - 客户端零存储的单点登录方法 - Google Patents
客户端零存储的单点登录方法 Download PDFInfo
- Publication number
- CN104506555A CN104506555A CN201510004231.4A CN201510004231A CN104506555A CN 104506555 A CN104506555 A CN 104506555A CN 201510004231 A CN201510004231 A CN 201510004231A CN 104506555 A CN104506555 A CN 104506555A
- Authority
- CN
- China
- Prior art keywords
- user
- application service
- login authentication
- authentication center
- client
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network 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
本发明公开了一种客户端零存储的单点登录方法,本方法中,所有应用***的登录页面都是由登录认证中心提供的,用户登录后的用户信息存储在登录认证中心,同时同步到应用***的服务器上,客户端不存储用户信息、不存储会话ID(或票据)。运用本发明,用户信息在登录认证中心和应用服务上存储、传输和同步,避免了在客户端将不必要的信息传来传去,且不存在会话ID(或票据)被盗用的风险,简化了单点登录应用***的开发过程,提升了***安全性能。
Description
技术领域
本发明适用于软件领域,尤其是BS架构的软件更适合采用本方法以实现***的单点登录。
背景技术
现有的单点登录方法多采用了诸如以下技术:1客户电脑的USB口上***认证介质,2客户端存储登录后的用户信息,3客户保存单点登录的话ID,4客户端安装单点登录插件。
上述4种方案中,客户电脑的USB***USB认证介质种方案,其用户数量必然收到限制,且介质的分发、管理过程很麻烦;客户端存储登录后的用户信息是适合富客户端的应用;客户端安装插件会带来用户体验上的下降。
客户端存储单点登录会话ID(或票据),是在客户端存储信息最少的模式,大多数BS应用都采用了这种方式,在当前的BS应用中,这个会话ID的保存方式通常有如下几种:1保存在网页的HTML文本中,2保存在网页的脚本中,3保存的浏览器的地址栏,4保存在浏览器的Cookie中,总之,客户端是需要存储的。
客户端存储会话ID(或票据)的方式存在如下不足:1会话ID(或票据)对***来说是一个无用的信息,必须转化为用户的ID才可被***使用;2会话ID(或票据)存储在客户端也是无用的,因为数据的读取都是在服务端完成的;3客户端存储票据是不方便的,不像的服务端只在Session中存储一份即可,需要来回反复地在网页间传递。
由此可见,设计出一种客户端零存储的单点登录方法是非常必要的。
发明内容
针对现有单点登录方案中的不足,本发明公开了一种客户端零存储的单点登录方法,应用本方法用户信息都存储在服务端上,客户端是零存储的,既不保存用户信息也不保存会话ID(或票据),无论客户来自哪个应用***,都得到登录认证中心进行登录,登录认证中心首先存储了当前的用户信息,在接下来的访问中,应用服务器再从登录认证中心获取当前用户并存储到本地的服务器上,从而实现了登录认证中心、应用服务的同步存储,客户端零存储的软件模型。
为实现上述目标,本发明采用了如下技术方案:
过程1:用户在访问应用服务(A或B)时,如果应用服务(A或B)本地没有存储当前用户的信息,就会将用户导向登录认证中心(S)的登录页面。
过程2:用户在登录认证中心(S)输入用户名和密码,并成功登录后,继续访问应用服务(A或B)。
过程3:应用服务(A或B)将登录认证中心(S)存储的用户信息同步到应用服务(A或B)的本地。
在所述过程1中,用户信息一般是应用服务(A或B)和登录认证中心(S)同步存储的,只有应用服务(A或B)本地没有存储用户信息的时候,才会向认证中心发起请求,也就是页面跳转。
在所述过程1中,应用服务(A或B)发起的页面跳转,在此过程中有二个环节,一是应用服务(A或B)生成了一个调用guid,并存储于应用服务(A或B)本地,二是向登录认证中心(S)传递要返回的地址和调用guid,同时实现页面跳转。
如图3所示,现对所述过程2分析如下:无论什么情况,只要是用户(V)访问到登录认证中心(S)的登录页面,就说明在应用服务(A或B)端没有存储当前用户的信息,用户在登录认证中心登录完成后,要将用户信息反馈给应用服务(A或B);用户在登录认证中心登录成功后,或者发现已经登录(session中存储有用户信息),必须跳转至用户原本要访问的页面,并返回用户信息给应用服务(A或B)。
如图3所示,在所述过程2中,如果当前用户已经通过其他应用***登录过登录认证中心(S),也就是已登录,对于已登录的用户,登录认证中心(S)直接执行跳转过程,对于未登录的用户,登录认证中心(S)导向登录页面,登录成功后,登录认证中心(S)将当前用户的信息存储与session变量中,再执行跳转过程。
如图2所示,在所述过程2中,登录认证中心(S)在用户登录成功后,或者发现用户已经登录后,都会去执行跳转过程,该跳转过程除了页面跳转外,还需要以应用服务(A或B)传递的调用guid为关键字,在全局变量中存储一份当前用户的信息。
在所述过程3中,在该过程中应用服务(A或B)通过存储与本地的调用guid为关键字,向单点登录认证中心(S)索取登录到应用服务(A或B)的当前用户的信息,也就是调用登录认证中心(S)的函数,获取到用户信息后,将该信息存储到本地的session变量中,用户在以后的访问过程中,就不再访问登录认证中心(S)。
本发明的优点是:
用户信息在登录认证中心和应用服务上存储、传输和同步,客户端不存储用户信息,不存储会话ID(或票据),避免了在客户的应用中将不必要的信息传来传去,不存在会话ID(或票据)被盗用的风险,简化了单点登录应用***的开发过程,提升了***的安全性。
附图说明
图1:客户端零存储的单点登录模型。
图2:登录认证中心工作流程。
图3:应用服务工作流程。
具体实施方式
本发明客户端零存储的单点登录方法,所有应用***的登录页面都是由登录认证中心提供的,用户登录后的用户信息存储在登录认证中心,同时同步到应用***的服务器上,客户端不存储用户信息、不存储会话ID(或票据)。
如图2所示,本发明的关键过程有3个:
过程1:用户在访问应用服务A或应用服务B时,如果应用服务(A或B)本地没有存储当前用户的信息,就会将用户导向登录认证中心的登录页面;
过程2:用户在登录认证中心输入用户名和密码,并成功登录后,继续访问应用服务(A或B);
过程3:应用服务A或B将登录认证中心存储的用户信息同步到应用服务(A或B)的本地。
在实际使用中,用户信息常包含:用代码、用户名、所在部分、可操作的***,在各个***中的角色,在各个***中的权限等。
上述过程1中,也就是客户通过浏览器访问业务***(A或B)页面的过程,该过程检查服务端是否存储有用户信息,如果没有则将页面跳转至登录认证中心(S)的登录页面,这里有二个环节,一是检查用户信息,二是跳转页面,只有本地没有存储用户信息的时候,才会有页面跳转,在实际使用中,一般提供一个辅助函数CheckUser,上述过程都是在这个函数中完成的,业务***每个页面Page_Load事件中都调用CheckUser函数,该函数返回true时继续处理当前页面的业务,否则就终止操作,表示页面的处理已经交给了单点登录认证过程,从而,用户访问业务***的任何页面都会检查用户是否登录。
未登录的用户访问页面时,其访问过程有二个,一是首次访问,二是用户登录完成后,再返回到该业务页面。前面所述的过程3(从登录认证中心同步用户信息)一般就是在对业务页面的第二次访问过程中。
上述过程中的第二个环节,也就是没有检查到用户信息,跳转到登录认证中心登录页面的环节,这个过程是客户浏览器上的页面跳转,在实际过程中,通常是采用POST技术来完成,用POST技术既可以实现页面的跳转,又可以传递参数,规避了GET技术将参数显示在URL中的尴尬,这个过程中传递的参数有二个,一个参数是返回路径,用户登录成功后将跳转至该页面,这个地址一般是用户当前访问页面的地址,也就是说,用户在认证完成后继续当前的工作;另一个参数是应用服务器(A或B)临时产生的用以与服务器会话的调用guid,该调用guid存储在应用服务器的session中,应用服务器在后续的过程中依此取回登录到登录认证中心的当前用户。
上述过程2中,只有业务***没有存储用户信息的时候才会发生,该过程无论是首次登录的***,还是连接其他的***,无论是有连接的进入,还是浏览器的直接输入,其处理过程都是一样的,上述的过程1是进入该过程的流程,该过程中,已经将登录成功后的返回地址和用以传递当前用户信息的调用guid传递过来了,此时用户信息的传递是服务器对服务器的,应用服务(A或B)要从单点登录服务器上获取用户信息,该过程不能通过session来进行访问,无论用户是否已经登录,在跳转至用于的返回地址前,都要用户信息存储于以调用guid为关键字的全局变量中。
上述过程3,其发生的时机是:应用服务器(A或B)已经生成过调用guid,该调用guid已经传递到单点登录认证中心(S), 用户已经输入用户名和密码并通过权限验证,且在上述的过程2中,登录认证中心(S)已经将用户信息存储在以调用guid为关键字的全局变量中。在此过程中应用服务(A或B)通过登录认证中心(S)提供的函数,以调用guid为参数获取用户信息即可,获取的用户信息保存在用户的session中。在实际使用中,为确保该返回值是存储在用户的session变量中,该调用过程植入在上述过程1中所述的CheckUser函数中,以保证单点登录的开发过程最简单,调用条件为本地的session变量中存储有调用guid,而没有用户信息。
本发明的优点是:
用户信息在登录认证中心和应用服务上存储、传输和同步,客户端不存储用户信息,不存储会话ID(或票据),避免了在客户的应用中将不必要的信息传来传去,不存在会话ID(或票据)被盗用的风险,简化了单点登录应用***的开发过程,提升了***安全性能。
以上所述是本发明的较佳实施例及其所运用的技术原理,对于本领域的技术人员来说,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案基础上的等效变换、简单替换等显而易见的改变,均属于本发明保护范围之内。
Claims (6)
1.客户端零存储的单点登录方法,其特征在于:
本方法包括三个过程:A用户在访问应用服务时,如果应用服务本地没有存储当前用户的信息,就会将用户导向登录认证中心的登录页面;B用户在登录认证中心输入用户名和密码,并成功登录后,继续访问应用服务;C应用服务将登录认证中心存储的用户信息同步到应用服务的本地。
2.如权利要求1所述的客户端零存储的单点登录方法,其特征在于:
权利要求1中所述的过程A,用户信息一般是应用服务和登录认证中心同步存储的,只有应用服务本地没有存储用户信息的时候,才会向认证中心发起请求,也就是页面跳转。
3.如权利要求2所述的客户端零存储的单点登录方法,其特征在于:
权利要求2中所述过程A中应用服务发起的页面跳转,在此过程中有二个环节,一是应用服务生成了一个调用guid,并存储于应用服务本地,二是向登录认证中心传递要返回的地址和调用guid,同时实现页面跳转。
4.如权利要求1所述的客户端零存储的单点登录方法,其特征在于:
权利要求1中所述的过程B,如果当前用户已经通过其他应用***登录过登录认证中心,也就是已登录,对于已登录的用户,登录认证中心直接执行跳转过程,对于未登录的用户,登录认证中心导向登录页面,登录成功后,登录认证中心将当前用户的信息存储与session变量中,再执行跳转过程。
5.如权利要求4所述的客户端零存储的单点登录方法,其特征在于:
登录认证中心在用户登录成功后,或者发现用户已经登录后,都会去执行跳转过程,该跳转过程除了页面跳转外,还需要以应用服务传递的调用guid为关键字,在全局变量中存储一份当前用户的信息。
6.如权利要求1所述的客户端零存储的单点登录方法,其特征在于:
权利要求1中所述的过程C,在该过程中应用服务通过存储与本地的调用guid为关键字,向单点登录认证中心索取登录到应用服务的当前用户的信息,也就是调用登录认证中心的函数,获取到用户信息后,将该信息存储到本地的session变量中,用户在以后的访问过程中,就不再访问登录认证中心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510004231.4A CN104506555A (zh) | 2015-01-06 | 2015-01-06 | 客户端零存储的单点登录方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510004231.4A CN104506555A (zh) | 2015-01-06 | 2015-01-06 | 客户端零存储的单点登录方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104506555A true CN104506555A (zh) | 2015-04-08 |
Family
ID=52948270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510004231.4A Pending CN104506555A (zh) | 2015-01-06 | 2015-01-06 | 客户端零存储的单点登录方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506555A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106612290A (zh) * | 2017-01-19 | 2017-05-03 | 河海大学 | 一种面向***集成的跨域单点登录方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547092A (zh) * | 2008-03-27 | 2009-09-30 | 天津德智科技有限公司 | 用于统一用户认证的多应用***数据同步的方法及装置 |
CN102801808A (zh) * | 2012-07-30 | 2012-11-28 | 武汉理工大学 | 一种面向WebLogic的Form身份鉴别的单点登录集成方法 |
CN102857484A (zh) * | 2011-07-01 | 2013-01-02 | 阿里巴巴集团控股有限公司 | 一种实现单点登录的方法、***及装置 |
CN102869010A (zh) * | 2011-07-04 | 2013-01-09 | 中兴通讯股份有限公司 | 单点登录方法及*** |
CN103188207A (zh) * | 2011-12-27 | 2013-07-03 | 北大方正集团有限公司 | 一种跨域的单点登录实现方法及*** |
CN103312505A (zh) * | 2013-04-08 | 2013-09-18 | 河海大学 | 一种易用的单点登录实现的构建方法 |
CN103414684A (zh) * | 2013-06-05 | 2013-11-27 | 华南理工大学 | 一种单点登录方法及*** |
CN103501344A (zh) * | 2013-10-10 | 2014-01-08 | 从兴技术有限公司 | 多应用实现单点登录的方法及*** |
WO2014005501A1 (zh) * | 2012-07-06 | 2014-01-09 | 腾讯科技(深圳)有限公司 | 用户账户保持登录态的方法、***及存储介质 |
CN103595697A (zh) * | 2012-08-16 | 2014-02-19 | 上海凌攀信息科技有限公司 | 一种移动设备上单点登录的方法 |
WO2014048749A1 (en) * | 2012-09-29 | 2014-04-03 | Siemens Aktiengesellschaft | Inter-domain single sign-on |
-
2015
- 2015-01-06 CN CN201510004231.4A patent/CN104506555A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547092A (zh) * | 2008-03-27 | 2009-09-30 | 天津德智科技有限公司 | 用于统一用户认证的多应用***数据同步的方法及装置 |
CN102857484A (zh) * | 2011-07-01 | 2013-01-02 | 阿里巴巴集团控股有限公司 | 一种实现单点登录的方法、***及装置 |
CN102869010A (zh) * | 2011-07-04 | 2013-01-09 | 中兴通讯股份有限公司 | 单点登录方法及*** |
CN103188207A (zh) * | 2011-12-27 | 2013-07-03 | 北大方正集团有限公司 | 一种跨域的单点登录实现方法及*** |
WO2014005501A1 (zh) * | 2012-07-06 | 2014-01-09 | 腾讯科技(深圳)有限公司 | 用户账户保持登录态的方法、***及存储介质 |
CN102801808A (zh) * | 2012-07-30 | 2012-11-28 | 武汉理工大学 | 一种面向WebLogic的Form身份鉴别的单点登录集成方法 |
CN103595697A (zh) * | 2012-08-16 | 2014-02-19 | 上海凌攀信息科技有限公司 | 一种移动设备上单点登录的方法 |
WO2014048749A1 (en) * | 2012-09-29 | 2014-04-03 | Siemens Aktiengesellschaft | Inter-domain single sign-on |
CN103312505A (zh) * | 2013-04-08 | 2013-09-18 | 河海大学 | 一种易用的单点登录实现的构建方法 |
CN103414684A (zh) * | 2013-06-05 | 2013-11-27 | 华南理工大学 | 一种单点登录方法及*** |
CN103501344A (zh) * | 2013-10-10 | 2014-01-08 | 从兴技术有限公司 | 多应用实现单点登录的方法及*** |
Non-Patent Citations (2)
Title |
---|
徐宝磊等: "《基于 Session 的单点登录***研究与设计》", 《重庆文理学院学报 ( 自然科学版)》 * |
杨荣华等: "《基于SOA的单点登录***研究与设计》", 《福建工程学院学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106612290A (zh) * | 2017-01-19 | 2017-05-03 | 河海大学 | 一种面向***集成的跨域单点登录方法 |
CN106612290B (zh) * | 2017-01-19 | 2020-04-03 | 河海大学 | 一种面向***集成的跨域单点登录方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230370464A1 (en) | Systems and methods for controlling sign-on to web applications | |
US9794242B2 (en) | Method, apparatus and application platform for realizing logon to an application service website | |
US9338007B1 (en) | Secure delegated authentication for applications | |
CN104735066B (zh) | 一种面向网页应用的单点登录方法、装置和*** | |
US8701199B1 (en) | Establishing a trusted session from a non-web client using adaptive authentication | |
US20200106766A1 (en) | Method and system for security assertion markup language (saml) service provider-initiated single sign-on | |
US10798083B2 (en) | Synchronization of multiple independent identity providers in relation to single sign-on management | |
EP3210107B1 (en) | Method and apparatus for facilitating the login of an account | |
CN109347835A (zh) | 信息传输方法、客户端、服务器以及计算机可读存储介质 | |
CN103501344B (zh) | 多应用实现单点登录的方法及*** | |
CN102984169A (zh) | 单点登录方法、设备及*** | |
CN110958237A (zh) | 一种权限校验的方法和装置 | |
US8291481B2 (en) | Sessionless redirection in terminal services | |
CN107172054A (zh) | 一种基于cas的权限认证方法、装置及*** | |
KR101795592B1 (ko) | 기업용 클라우드 서비스의 접근 통제 방법 | |
CN110232265B (zh) | 双重身份认证方法、装置及*** | |
US9544152B2 (en) | Dual layer transport security configuration | |
US11151239B2 (en) | Single sign-on management for multiple independent identity providers | |
US20100319056A1 (en) | Decreasing login latency | |
CN104836803A (zh) | 基于session机制的单点登录方法 | |
US11995176B2 (en) | Platform for generation of passwords and/or email addresses | |
CN105450592A (zh) | 安全校验方法、装置、服务器及终端 | |
US9948648B1 (en) | System and method for enforcing access control to publicly-accessible web applications | |
CN102143131A (zh) | 用户注销方法及认证服务器 | |
CN113411324B (zh) | 基于cas与第三方服务器实现登录认证的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150408 |
|
WD01 | Invention patent application deemed withdrawn after publication |