CN104158818A - 一种单点登录方法及*** - Google Patents
一种单点登录方法及*** Download PDFInfo
- Publication number
- CN104158818A CN104158818A CN201410422428.5A CN201410422428A CN104158818A CN 104158818 A CN104158818 A CN 104158818A CN 201410422428 A CN201410422428 A CN 201410422428A CN 104158818 A CN104158818 A CN 104158818A
- Authority
- CN
- China
- Prior art keywords
- user
- operation system
- log
- message
- sign
- 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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种单点登录方法及***,其中,单点登录方法包括:业务***接收到未在所述业务***登录的用户的业务访问后,所述业务***通过所述用户的用户浏览器向单点登录认证中心获取该用户的登录信息,如果获取到,则所述业务***利用所述登录信息自动完成所述用户的登录处理,通知所述用户浏览器显示登录后的页面。本发明提供的方法和***对于无认证信息携带访问业务***的场景,使业务***具有主动查询用户登录信息的功能,实现了在该场景下的单点登录,更加符合用户的互联网业务使用习惯,完善了单点登录机制。
Description
技术领域
本发明涉及通信领域,具体涉及一种单点登录方法及***。
背景技术
单点登录(Single Sign On,简称为SSO),是指在多个应用***中,用户只需要登录一次就可以访问所有相互信任的应用***。
现有的单点登录技术中,对浏览器/服务器(Browser/Server,简称B/S)架构的应用***,主要通过票据传递方式实现单点登录,类似于旅游景点的“通票”形式,游客一次购票即可进入多个独立的景点。票据传递方式单点登录的流程具体为:
(1)当用户第一次访问一个B/S应用***时,被引导到认证***中进行登录;
(2)根据用户提供的登录信息,认证***进行身份校验,通过校验的用户得到一个“认证凭据”(如票据信息),该票据信息可以作为用户通过校验的凭据;
(3)当用户访问另一个B/S应用***时,该***接到请求后,会把用户出示的票据信息发送到认证***进行校验,认证该票据信息的合法性;如果通过校验,用户不用再次登录就可以访问该B/S应用***。
目前,现有技术主要是对有认证信息携带时访问业务***的场景进行规范,即通过用户携带的票据信息就可以在多个应用***中登录。例如,用户已登录业务***A(业务***A已获取用户信息),点击业务***A上嵌入的业务***B链接,进行访问(业务***B可通过单点登录机制,获取业务***A传递过来的用户信息)。而对于无认证信息携带时访问业务***的场景,比如:
(1)用户未在其他业务***登录,直接在浏览器输入业务***A网址,进行访问(业务***A在用户登录前,无法获知用户信息);
(2)用户已登录业务***A,直接在浏览器输入业务***B网址,进行访问(该场景下,用户并非由业务***A跳转过来,因此,业务***B无法获知用户信息);
(3)用户未在其他业务***登录,用户访问业务***A,未在业务***A登录时,点击业务***A上嵌入的业务***B链接,进行访问(由于用户未登录,业务***A、B均无法获知用户信息)。
现有技术中,对于上述3种场景,业务***在本地查询到没有用户相关信息时,就根据用户的主动行为,向用户展示相应浏览页面,而不会主动地向认证中心请求获取用户的登录信息,从而无法判断是否可以进行单点登录,事实上,对于第二种情况,是可以进行单点登录的,所以,目前,对于上述“无认证信息携带”的场景下,业界还没有较为成熟的单点登录解决方案。
发明内容
本发明需要解决的技术问题是提供一种单点登录方法及***,实现在无认证信息携带访问业务***的场景下的单点登录。
为了解决上述技术问题,本发明提供了一种单点登录方法,包括:
业务***接收到未在所述业务***登录的用户的业务访问后,所述业务***通过所述用户的用户浏览器向单点登录认证中心获取该用户的登录信息,如果获取到,则所述业务***利用所述登录信息自动完成所述用户的登录处理,通知所述用户浏览器显示登录后的页面。
进一步地,所述业务***通过所述用户的用户浏览器向单点登录认证中心获取所述用户的登录信息,包括:
所述业务***向所述用户的用户浏览器发送获取所述用户的登录信息的指令,所述指令中携带有所述业务***的重定向地址;
所述用户浏览器向所述单点登录认证中心发送获取所述用户的登录信息的请求,所述请求中携带有所述用户的全局会话ID和所述业务***的重定向地址;
所述单点登录认证中心判断是否存在与所述用户的全局会话ID对应的全局会话,如果存在,则根据与所述用户的全局会话ID对应的全局会话的会话信息,将所述用户的登录信息通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址,所述会话信息包括所述用户的登录信息。
进一步地,所述方法还包括:
所述业务***通过所述用户的用户浏览器向单点登录认证中心获取所述用户的登录信息,包括:
所述业务***向所述用户的用户浏览器发送获取所述用户的登录信息的指令,所述指令中携带有所述业务***的重定向地址;
所述用户浏览器向所述单点登录认证中心发送获取所述用户的登录信息的请求,所述请求中仅携带有所述业务***的重定向地址;
所述单点登录认证中心当判断所述请求中未携带用户的全局会话ID时,则所述单点登录认证中心将获取用户登录信息失败的结果通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址;
所述方法还包括:如果没有获取到,则所述业务***根据所述获取用户登录信息失败的结果向所述用户浏览器发出返回到用户当前浏览页面的指令;所述用户浏览器显示当前浏览页面。
进一步地,在所述业务***通过所述用户浏览器向单点登录认证中心获取所述用户的登录信息之前,所述方法还包括:
在所述用户首次登录单点登录***内的某个业务***时,所述某个业务***通过所述用户浏览器请求所述单点登录认证中心存储所述用户在该业务***登录时的登录信息。
进一步地,所述某个业务***通过所述用户浏览器请求所述单点登录认证中心存储所述用户在该业务***登录时的登录信息,包括:
所述某个业务***在通过所述用户的登录认证时,向所述用户浏览器发送存储所述用户在该业务***登录时的登录信息的指令,所述指令中携带有所述某个业务***的重定向地址和业务***标识;
所述用户浏览器向所述单点登录认证中心发送存储所述用户在该业务***登录时的登录信息的请求,所述请求中携带有所述某个业务***的重定向地址、业务***标识以及所述用户通过登录认证时的登录信息;
所述单点登录认证中心收到所述请求后,生成所述用户在该业务***登录时的全局会话,并为该用户在单点登录认证中心的本次登录行为配置全局会话ID,在所述全局会话的会话信息中保存所述某个业务***的业务***标识和所述用户在该业务***登录时的登录信息,并将所述全局会话ID返回至所述用户浏览器,并通过所述用户浏览器重定向给所述某个业务***,重定向地址为所述某个业务***的重定向地址。
为了解决上述技术问题,本发明还提供了一种单点登录***,包括:
业务***,用于在接收到未在所述业务***登录的用户的业务访问后,向用户浏览器发送获取所述用户的登录信息的指令,通过所述用户的用户浏览器向单点登录认证中心获取所述用户的登录信息,如果获取到,则利用所述登录信息自动完成所述用户的登录处理,并通知所述用户浏览器显示登录后的页面;
用户浏览器,用于在接收到所述业务***获取用户的登录信息的指令后,向单点登录认证中心发送获取所述用户的登录信息的请求,并将所述单点登录认证中心返回的所述用户的登录信息传递至所述业务***,在收到所述业务***通知后显示登录后的页面;
单点登录认证中心,用于在接收到所述用户浏览器的请求后,在本地查询所述用户的登录信息,若查询到,则将查询到的所述用户的登录信息通过所述用户浏览器返回给所述业务***。
进一步地,所述业务***获取所述用户的登录信息的指令中携带有所述业务***的重定向地址;
所述用户浏览器获取所述用户的登录信息的请求中携带有所述用户的全局会话ID和所述业务***的重定向地址;
所述单点登录认证中心,用于在接收到所述用户浏览器的请求后,在本地查询所述用户的登录信息,若查询到,将查询到的所述用户的登录信息通过所述用户浏览器返回给所述业务***,包括:
所述单点登录认证中心,用于判断是否存在与所述用户的全局会话ID对应的全局会话,如果存在,则根据与所述用户的全局会话ID对应的全局会话的会话信息,将所述用户的登录信息通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址,所述会话信息包括所述用户的登录信息。
进一步地,所述业务***获取所述用户的登录信息的指令中携带有所述业务***的重定向地址;
所述用户浏览器获取所述用户的登录信息的请求中仅携带有所述业务***的重定向地址;
所述单点登录认证中心,还用于当判断所述请求中未携带用户的全局会话ID时,查询不到所述用户的登录信息,则将获取用户登录信息失败的结果通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址;
所述用户浏览器,还用于将所述单点登录认证中心返回的获取用户登录信息失败的结果重定向给所述业务***,并在接收到所述业务***发出的返回到用户当前浏览页面的指令后,显示当前浏览页面;
所述业务***,还用于根据所述获取用户登录信息失败的结果向所述用户浏览器发出返回到相应浏览页面的指令。
进一步地,还包括用户首次登录的单点登录***内的某个业务***;其中:
所述用户首次登录的单点登录***内的某个业务***,用于在通过所述用户的登录认证时,向所述用户浏览器发送存储所述用户在该业务***登录时的登录信息的指令,通过所述用户浏览器请求所述单点登录认证中心存储所述用户在该业务***登录时的登录信息;
所述用户浏览器,还用于在接收到所述某个业务***请求存储所述用户在该业务***登录时的登录信息的指令后,向所述单点登录认证中心发送存储所述用户在该业务***登录时的登录信息的请求;
所述单点登录认证中心,用于在接收到所述用户浏览器的请求后,将所述用户在该业务***登录时的登录信息进行存储。
进一步地,所述某个业务***存储所述用户在该业务***登录时的登录信息的指令中携带有所述单点登录***内某个业务***的重定向地址和业务***标识;
所述用户浏览器存储所述用户在该业务***登录时的登录信息的请求中携带有所述某个业务***的重定向地址、业务***标识以及所述用户在该业务***登录时的登录信息;
所述单点登录认证中心,用于在接收到所述用户浏览器的请求后,将所述用户在该业务***登录时的登录信息进行存储,包括:
所述单点登录认证中心收到所述请求后,生成所述用户在该业务***登录时的全局会话,并为该用户在单点登录认证中心的本次登录行为配置全局会话ID,在所述全局会话的会话信息中保存所述某个业务***的业务***标识和所述用户在该业务***登录时的登录信息,并将所述全局会话ID返回至所述用户浏览器,并通过所述用户浏览器重定向给所述某个业务***,重定向地址为所述某个业务***的重定向地址;
所述用户浏览器,还用于在接收并保存所述单点登录认证中心返回的所述用户的全局会话ID,并传递给所述某个业务***。
与现有技术相比,本发明提供的单点登录方法及***,对于无认证信息携带访问业务***的场景,使业务***具有主动查询用户登录信息的功能,实现了在该场景下的单点登录,更加符合用户的互联网业务使用习惯,完善了单点登录机制。
附图说明
图1是实施例中单点登录方法的流程图;
图2是一个应用示例中对于场景(1)的单点登录方法的流程图;
图3是一个应用示例中对于场景(2)的单点登录方法的流程图;
图4是实施例中单点登录***的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例:
本实施例的应用场景是用户无认证信息携带浏览业务***场景下的单点登录,如图1所示,本实施例提供了一种单点登录方法,包括以下步骤:
S101:业务***接收到未在所述业务***登录的用户的业务访问;
其中,未在所述业务***登录的用户表示该用户只是未在本业务***登录,有可能已经在属于单点登录体系的其他业务***中登录;业务***判断该用户是否在本业务***登录是通过判断是否存在本地会话ID,如果不存在,就说明用户未登录所述业务***;
对于场景(1),用户未在其他业务***登录,直接在浏览器输入业务***A网址,进行访问,该场景下,用户在其他业务***和业务***A均未登录;
对于场景(2),用户已登录业务***A,直接在浏览器输入业务***B网址,进行访问,该场景下,用户并非由业务***A跳转过来,因此,业务***B无法获知用户信息,用户未在业务***B登录;
对于场景(3),用户未在其他业务***登录,用户访问业务***A,未在业务***A登录时,点击业务***A上嵌入的业务***B链接,进行访问,用户在其他业务***和业务***A、B上均未登录。
S102:业务***接收到所述用户的业务访问后,通过所述用户的用户浏览器向单点登录认证中心获取所述用户的登录信息;登录信息包括该用户的账户名以及登录密码;
S103:如果获取到,则利用所述登录信息自动完成所述用户的登录处理,通知所述用户浏览器显示登录后的页面。
其中,在步骤S102中,对应于场景(2),用户已登录其他业务***,直接在浏览器输入所述业务***的网址,进行访问,对于这种场景:所述业务***通过所述用户的用户浏览器向单点登录认证中心获取所述用户的登录信息,具体包括:
1)所述业务***向所述用户的用户浏览器发送获取所述用户的登录信息的指令,所述指令中携带有所述业务***的重定向地址;
2)所述用户浏览器向所述单点登录认证中心发送获取所述用户的登录信息的请求,所述请求中携带有标识所述用户的全局会话ID和所述业务***的重定向地址;
其中,全局会话ID是用来标识用户在其他业务***曾经登录过,单点登录认证中心通过全局会话ID来识别该用户,如果用户在单点登录***内的某个业务***首次登录,则单点登录认证中心生成全局会话,并把全局会话ID通过浏览器告诉首次登录的业务***,这时,该全局会话(含全局会话ID)就保存在浏览器安装在电脑本地的文件中了(这是浏览器保存会话的基本机制,是浏览器的属性)。
在用户访问其他***后,其他业务***通过该浏览器向单点登录认证中心发起请求用户信息的请求,浏览器在发现请求指向单点登录认证中心后,会自动查询本地保存的全局会话(含ID),将查询到的全局会话ID携带在请求中,发给单点登录认证中心,这时单点登录认证中心就可以判定用户了。
3)所述单点登录认证中心判断是否存在与所述用户的全局会话ID对应的全局会话,如果存在,则根据与所述用户的全局会话ID对应的全局会话,将所述用户的登录信息通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址,所述会话信息包括所述用户的登录信息。
此外,在步骤1)中所述业务***发送的指令中还携带有业务***的标识,在步骤2)中由浏览器将该业务***标识携带在请求中发送给单点登录认证中心,单点登录认证中心用于对携带有业务***标识的请求进行认证鉴权,即判断是哪个***发来的请求。
在单点登录过程中,如果用户在其他业务***已登录,则用户浏览器与业务***之间默认均指向该用户,也就是说,在单点登录的标准体制中,是不能存在两个用户同时在一个浏览器中访问网站的。比如,用户A访问过的业务***都是A为登录状态,如果此时换成用户B的账号进行登录,则需要退出A的登录账号,则A的登录信息过期,此时A的全局会话也失效。所以在单点登录体系中,不同的用户是不可能同时在一个浏览器中处于登录状态,也就是说,一个浏览器的本次文件下,有效的全局会话只能有一个,在单点登录过程中,单点登录体系内的业务***和浏览器只识别一个用户。
此外,对于场景(1)和(3),用户未在其他业务***登录,直接在浏览器输入所述业务***的网址,进行访问,以及,用户未在其他业务***登录,用户访问业务***A,未在业务***A登录时,点击业务***A上嵌入的所述业务***的链接,进行访问,对于这两种场景,所述业务***还存在没有从单点登录认证中心获取所述用户的登录信息的情况;
所述业务***获取所述用户的登录信息的指令中携带有所述业务***的重定向地址;
所述用户浏览器获取所述用户的登录信息的请求中仅携带有所述业务***的重定向地址;
所述方法还包括:
所述单点登录认证中心判断出所述请求中未携带用户的全局会话ID时,则所述单点登录认证中心将获取用户登录信息失败的结果通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址ULR;
所述请求中未携带用户的全局会话ID说明该用户在登录所述业务***之前并没有在单点登录体系内的其他业务***登录,因此,单点登录认证中心中没有为该用户建立全局会话的记录,所以也没有为该用户分配全局会话ID,也就不会存储该用户的登录信息。
所述业务***根据所述获取用户登录信息失败的结果向所述用户浏览器发出返回到用户当前浏览页面的指令;所述用户浏览器显示当前浏览页面。
此外,对于场景(2),用户在单点登录***内首次登录时,在某个业务***登录,单点登录认证中心会将登录信息保存下来,以便用户在所述业务***登录可以获取到该用户的登录信息,因此,在所述业务***通过所述用户浏览器向单点登录认证中心获取所述用户的登录信息之前,所述方法还包括:单点登录***内某个业务***通过所述用户浏览器请求单点登录认证中心存储所述用户在该业务***登录时的登录信息;
具体包括:
1)所述某个业务***在通过所述用户的登录认证时,所述某个业务***向所述用户浏览器发送存储所述用户在通过登录认证时的登录信息的指令,所述指令中携带有所述某个业务***的重定向地址和业务***标识;
2)所述用户浏览器向所述单点登录认证中心发送存储所述用户通过登录认证时的登录信息的请求,所述请求中携带有所述某个业务***的重定向地址、业务***标识以及所述用户通过登录认证时的登录信息;
3)所述单点登录认证中心收到所述请求后,生成所述用户通过登录认证时的本次登录的全局会话,并为该用户在单点登录认证中心的本次登录行为配置全局会话ID,在所述全局会话的会话信息中保存所述某个业务***的业务***标识和所述用户通过登录认证时的登录信息,并将所述用户通过登录认证时的本次登录的全局会话ID返回至所述用户浏览器,并将登录信息已存储的处理结果通过所述用户浏览器重定向给所述某个业务***,重定向地址为所述某个业务***的重定向地址。
在单点登录体系中,只有用户首次登录所在的业务***负责存储登录信息,其他业务***都是去单点登录认证中心查询,不再存储。
在一个应用示例中,对于应用场景(1)提供了一种单点登录方法,如图2所示,包括以下步骤:
S201:用户通过浏览器访问业务***A;
S202:业务***A接收到该用户的业务访问请求,业务***A判断无本地会话,即未登录业务***A;
如果用户之前在业务***A登录后,业务***A会在本地创建本地会话,并分配本地会话ID,同时返回给用户浏览器该业务***A的本地会话ID;在用户再次访问业务***A时,浏览器会根据业务***A的本地会话ID,到业务***A查询当前用户的登录情况;
如果用户之前没有在业务***A登录,则不存在本地会话ID。
S203:业务***A向所述用户的用户浏览器发送获取所述用户的登录信息的指令,所述指令中携带有业务***A的重定向地址;
该重定向地址是用于当所述单点登录认证中心查询到用户的登录信息后,将该用户的登录信息通过用户浏览器重定向至业务***A。
S204:所述用户浏览器向所述单点登录认证中心发送获取所述用户的登录信息的请求,所述请求中携带有所述业务***A的重定向地址和所述业务***A的业务标识;
对于场景(1),由于用户并未在其他业务***登录过,因此,单点登录认证中心也没有为该用户分配全局会话ID,所以,所述请求中没有携带全局会话ID;
S205:单点登录认证中心判断出所述请求中未携带用户的全局会话ID时,说明该用户并未在其他业务***登录过,将获取用户登录信息失败的结果通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址;
S206:业务***A根据所述获取用户登录信息失败的结果和自有业务逻辑向所述用户浏览器发出返回到用户当前浏览页面的指令,用户浏览器向用户展示相应的浏览页面或登录页面。
在一个应用示例中,对于应用场景(2)提供了一种单点登录方法,如图3所示,包括以下步骤:
S301:用户已经在业务***A登录;
用户在业务***A登录的时候,单点登录认证中心会为该用户建立全局会话ID,并将该用户的登录信息保存。
S302:用户直接在浏览器输入业务***B的网址,访问业务***B;
S303:业务***B根据本地会话ID判断是否有本地会话,即是否登录业务***B;若有本地会话,则执行步骤S304,否则执行步骤S305;
如果用户之前在业务***B登录后,业务***B会在本地创建本地会话,并分配本地会话ID,同时返回给用户浏览器该业务***B的本地会话ID;在用户再次访问业务***B时,浏览器会根据业务***B的本地会话ID,到业务***B查询当前用户的登录情况;
如果用户之前没有在业务***B登录,则不存在本地会话ID。
S304:若有本地会话,则业务***B向用户浏览器发送向用户呈现登录后页面的指令,用户浏览器向用户呈现登录后的页面;
S305:若无本地会话,则业务***B向所述用户的用户浏览器发送获取所述用户的登录信息的指令,所述指令中携带有业务***B的重定向地址;
该重定向地址是用于当所述单点登录认证中心查询到用户的登录信息后,将该用户的登录信息通过用户浏览器重定向至业务***B。
S306:所述用户浏览器向所述单点登录认证中心发送获取所述用户的登录信息的请求,所述请求中携带有标识所述用户的全局会话ID、所述业务***B的重定向地址和所述业务***B的标识;
S307:单点登录认证中心判断存在与所述用户的全局会话ID对应的全局会话,将所述用户的登录信息通过所述用户浏览器重定向给业务***B,重定向地址为业务***B的重定向地址,所述全局会话的会话信息包括所述用户的登录信息;
S308:该业务***B根据该用户的登录信息进行后续的单点登录流程。
单点登录流程为现有流程,具体包括:业务***B根据该用户的登录信息向单点登录认证中心请求认证该登录信息,单点登录认证中心认证成功向业务***B返回认证成功信息,业务***B创建本地会话,并向浏览器返回登录成功信息。
在一个应用示例中,对于应用场景(3),用户未在其他业务***登录,用户访问业务***A,未在业务***A登录时,会先触发通过所述用户的用户浏览器向单点登录认证中心获取该用户的登录信息(登录业务***A的登录信息),与应用场景(1)的对应流程(如步骤S202~S206)类似,由于用户并未在其他业务***登录过,因此,单点登录认证中心也没有为该用户分配全局会话ID,所以,所述请求中没有携带全局会话ID;单点登录认证中心判断出所述请求中未携带用户的全局会话ID时,说明该用户并未在其他业务***登录过,将获取用户登录信息失败的结果通过所述用户浏览器重定向给所述业务***A,业务***A根据所述获取用户登录信息失败的结果和自有业务逻辑向所述用户浏览器发出返回到用户当前浏览页面的指令,用户浏览器向用户展示相应的浏览页面或登录页面,用户点击业务***B链接时,则触发通过所述用户的用户浏览器向单点登录认证中心获取该用户的登录信息(登录业务***B的登录信息),按照应用场景(1)的对应流程(如步骤S202~S206),业务***B根据所述获取用户登录信息失败的结果和自有业务逻辑向所述用户浏览器发出返回到用户当前浏览页面的指令,用户浏览器向用户展示相应的浏览页面或登录页面。
本实施例中,场景(1)和(3)也属于单点登录体系中的场景,因为也存在主动向单点登录认证中心获取用户登录信息的机制。由于用户之前未在属于单点登录认证体系的任何一个业务***中登录,所以向单点登录认证中心发起的请求中不会有全局会话ID,所以单点登录认证中心也不存在该用户的登录信息。该场景下需要用户在访问的业务***中主动登录,则该业务***就成为用户首次登录的业务***,具有向单点登录认证中心存储用户登录信息的义务。
如图4所示,本实施例提供了一种单点登录***,包括:用户浏览器、一个或多个业务***以及单点登录认证中心,其中:
业务***,用于在接收到未在所述业务***登录的用户的业务访问后,向用户浏览器发送获取所述用户的登录信息的指令,通过所述用户的用户浏览器向单点登录认证中心获取所述用户的登录信息,如果获取到,则利用所述登录信息自动完成所述用户的登录处理,并通知所述用户浏览器显示登录后的页面;
用户浏览器,用于在接收到所述业务***获取用户的登录信息的指令后,向单点登录认证中心发送获取所述用户的登录信息的请求,并将所述单点登录认证中心返回的所述用户的登录信息传递至所述业务***,在收到所述业务***通知后显示登录后的页面;
单点登录认证中心,用于在接收到所述用户浏览器的请求后,在本地查询所述用户的登录信息,若查询到,则将查询到的所述用户的登录信息通过所述用户浏览器返回给所述业务***。
对于场景(2),用户已登录其他业务***,直接在浏览器输入所述业务***的网址,进行访问,对于这种场景:
所述业务***获取所述用户的登录信息的指令中携带有所述业务***的重定向地址;
所述用户浏览器获取所述用户的登录信息的请求中携带有所述用户的全局会话ID和所述业务***的重定向地址;
所述单点登录认证中心,用于在接收到所述用户浏览器的请求后,在本地查询所述用户的登录信息,若查询到,则将查询到的所述用户的登录信息通过所述用户浏览器返回给所述业务***,包括:
所述单点登录认证中心,用于判断是否存在与所述用户的全局会话ID对应的全局会话,如果存在,则根据与所述用户的全局会话ID对应的全局会话的会话信息,将所述用户的登录信息通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址,所述会话信息包括所述用户的登录信息。
此外,所述业务***发送的指令中还携带有业务***的标识,由用户浏览器将该业务***的标识携带在请求中发送给单点登录认证中心,所述单点登录认证中心用于对携带有业务***的标识的请求进行认证鉴权,即判断是哪个***发来的请求。
此外,对于场景(1)和(3),用户未在其他业务***登录,直接在浏览器输入所述业务***的网址,进行访问,以及,用户未在其他业务***登录,用户访问业务***A,未在业务***A登录时,点击业务***A上嵌入的所述业务***的链接,进行访问,对于这两种场景,所述业务***还存在没有从单点登录认证中心获取所述用户的登录信息的情况:
所述业务***获取所述用户的登录信息的指令中携带有所述业务***的重定向地址;
所述用户浏览器获取所述用户的登录信息的请求中仅携带有所述业务***的重定向地址;
所述单点登录认证中心,还用于当判断所述请求中未携带用户的全局会话ID时,查询不到所述用户的登录信息,则将获取用户登录信息失败的结果通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址;
所述请求中未携带用户的全局会话ID说明该用户在登录所述业务***之前并没有在单点登录***的其他业务***登录,因此,单点登录认证中心中没有为该用户建立全局会话的记录,所以也没有为该用户分配全局会话ID,也就不会存储该用户的登录信息。
所述用户浏览器,还用于将所述单点登录认证中心返回的获取用户登录信息失败的结果重定向给所述业务***,并在接收到所述业务***发出的返回到用户当前浏览页面的指令后,显示当前浏览页面;
所述业务***,还用于根据所述获取用户登录信息失败的结果向所述用户浏览器发出返回到相应浏览页面的指令。
此外,对于场景(2),用户在首次登录单点登录***内的某个业务***时,该业务***会通过用户浏览器请求单点登录认证中心会将登录信息保存下来,以便用户在单点登录***内的业务***登录可以获取到该用户的登录信息,其中:
所述用户首次登录的单点登录***内的某个业务***,用于在通过所述用户的登录认证时,向所述用户浏览器发送存储所述用户在该业务***登录时的登录信息的指令,通过所述用户浏览器请求所述单点登录认证中心存储所述用户在该业务***登录时的登录信息;
所述用户浏览器,还用于在接收到所述某个业务***请求存储所述用户在该业务***登录时的登录信息的指令后,向所述单点登录认证中心发送存储所述用户在该业务***登录时的登录信息的请求;
即该用户在浏览所述业务***之前在某个业务***登录时,将该用户的登录信息保存;
所述单点登录认证中心,用于在接收到所述用户浏览器的请求后,将所述用户在该业务***登录时的登录信息进行存储。
具体地,所述某个业务***存储所述用户在该业务***登录时的登录信息的指令中携带有所述单点登录***内某个业务***的重定向地址和业务***标识;
所述用户浏览器存储所述用户在该业务***登录时的登录信息的请求中携带有所述某个业务***的重定向地址、业务***标识以及所述用户在该业务***登录时的登录信息;
所述单点登录认证中心,用于在接收到所述用户浏览器的请求后,将所述用户在该业务***登录时的登录信息进行存储,包括:
所述单点登录认证中心收到所述请求后,生成所述用户在该业务***登录时的全局会话,并为该用户在单点登录认证中心的本次登录行为配置全局会话ID,在所述全局会话的会话信息中保存所述某个业务***的业务***标识和所述用户在该业务***登录时的登录信息,并将所述全局会话ID返回至所述用户浏览器,并通过所述用户浏览器重定向给所述某个业务***,重定向地址为所述某个业务***的重定向地址;
所述用户浏览器,还用于在接收并保存所述单点登录认证中心返回的所述用户的全局会话ID,并传递给所述某个业务***。
从上述实施例可以看出,相对于现有技术,上述实施例中提供的单点登录方法及***,对于无认证信息携带访问业务***的场景,使业务***具有主动查询用户登录信息的功能,实现了在该场景下的单点登录,更加符合用户的互联网业务使用习惯,完善了单点登录机制。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并非用于限定本发明的保护范围。根据本发明的发明内容,还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种单点登录方法,包括:
业务***接收到未在所述业务***登录的用户的业务访问后,所述业务***通过所述用户的用户浏览器向单点登录认证中心获取该用户的登录信息,如果获取到,则所述业务***利用所述登录信息自动完成所述用户的登录处理,通知所述用户浏览器显示登录后的页面。
2.如权利要求1所述的方法,其特征在于:
所述业务***通过所述用户的用户浏览器向单点登录认证中心获取所述用户的登录信息,包括:
所述业务***向所述用户的用户浏览器发送获取所述用户的登录信息的指令,所述指令中携带有所述业务***的重定向地址;
所述用户浏览器向所述单点登录认证中心发送获取所述用户的登录信息的请求,所述请求中携带有所述用户的全局会话ID和所述业务***的重定向地址;
所述单点登录认证中心判断是否存在与所述用户的全局会话ID对应的全局会话,如果存在,则根据与所述用户的全局会话ID对应的全局会话的会话信息,将所述用户的登录信息通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址,所述会话信息包括所述用户的登录信息。
3.如权利要求1所述的方法,其特征在于:所述方法还包括:
所述业务***通过所述用户的用户浏览器向单点登录认证中心获取所述用户的登录信息,包括:
所述业务***向所述用户的用户浏览器发送获取所述用户的登录信息的指令,所述指令中携带有所述业务***的重定向地址;
所述用户浏览器向所述单点登录认证中心发送获取所述用户的登录信息的请求,所述请求中仅携带有所述业务***的重定向地址;
所述单点登录认证中心当判断所述请求中未携带用户的全局会话ID时,则所述单点登录认证中心将获取用户登录信息失败的结果通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址;
所述方法还包括:如果没有获取到,则所述业务***根据所述获取用户登录信息失败的结果向所述用户浏览器发出返回到用户当前浏览页面的指令;所述用户浏览器显示当前浏览页面。
4.如权利要求1所述的方法,其特征在于:在所述业务***通过所述用户浏览器向单点登录认证中心获取所述用户的登录信息之前,所述方法还包括:
在所述用户首次登录单点登录***内的某个业务***时,所述某个业务***通过所述用户浏览器请求所述单点登录认证中心存储所述用户在该业务***登录时的登录信息。
5.如权利要求4所述的方法,其特征在于:
所述某个业务***通过所述用户浏览器请求所述单点登录认证中心存储所述用户在该业务***登录时的登录信息,包括:
所述某个业务***在通过所述用户的登录认证时,向所述用户浏览器发送存储所述用户在该业务***登录时的登录信息的指令,所述指令中携带有所述某个业务***的重定向地址和业务***标识;
所述用户浏览器向所述单点登录认证中心发送存储所述用户在该业务***登录时的登录信息的请求,所述请求中携带有所述某个业务***的重定向地址、业务***标识以及所述用户通过登录认证时的登录信息;
所述单点登录认证中心收到所述请求后,生成所述用户在该业务***登录时的全局会话,并为该用户在单点登录认证中心的本次登录行为配置全局会话ID,在所述全局会话的会话信息中保存所述某个业务***的业务***标识和所述用户在该业务***登录时的登录信息,并将所述全局会话ID返回至所述用户浏览器,并通过所述用户浏览器重定向给所述某个业务***,重定向地址为所述某个业务***的重定向地址。
6.一种单点登录***,包括:
业务***,用于在接收到未在所述业务***登录的用户的业务访问后,向用户浏览器发送获取所述用户的登录信息的指令,通过所述用户的用户浏览器向单点登录认证中心获取所述用户的登录信息,如果获取到,则利用所述登录信息自动完成所述用户的登录处理,并通知所述用户浏览器显示登录后的页面;
用户浏览器,用于在接收到所述业务***获取用户的登录信息的指令后,向单点登录认证中心发送获取所述用户的登录信息的请求,并将所述单点登录认证中心返回的所述用户的登录信息传递至所述业务***,在收到所述业务***通知后显示登录后的页面;
单点登录认证中心,用于在接收到所述用户浏览器的请求后,在本地查询所述用户的登录信息,若查询到,则将查询到的所述用户的登录信息通过所述用户浏览器返回给所述业务***。
7.如权利要求6所述的***,其特征在于:
所述业务***获取所述用户的登录信息的指令中携带有所述业务***的重定向地址;
所述用户浏览器获取所述用户的登录信息的请求中携带有所述用户的全局会话ID和所述业务***的重定向地址;
所述单点登录认证中心,用于在接收到所述用户浏览器的请求后,在本地查询所述用户的登录信息,若查询到,将查询到的所述用户的登录信息通过所述用户浏览器返回给所述业务***,包括:
所述单点登录认证中心,用于判断是否存在与所述用户的全局会话ID对应的全局会话,如果存在,则根据与所述用户的全局会话ID对应的全局会话的会话信息,将所述用户的登录信息通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址,所述会话信息包括所述用户的登录信息。
8.如权利要求6所述的***,其特征在于:
所述业务***获取所述用户的登录信息的指令中携带有所述业务***的重定向地址;
所述用户浏览器获取所述用户的登录信息的请求中仅携带有所述业务***的重定向地址;
所述单点登录认证中心,还用于当判断所述请求中未携带用户的全局会话ID时,查询不到所述用户的登录信息,则将获取用户登录信息失败的结果通过所述用户浏览器重定向给所述业务***,重定向地址为所述业务***的重定向地址;
所述用户浏览器,还用于将所述单点登录认证中心返回的获取用户登录信息失败的结果重定向给所述业务***,并在接收到所述业务***发出的返回到用户当前浏览页面的指令后,显示当前浏览页面;
所述业务***,还用于根据所述获取用户登录信息失败的结果向所述用户浏览器发出返回到相应浏览页面的指令。
9.如权利要求7所述的***,其特征在于:还包括用户首次登录的单点登录***内的某个业务***;其中:
所述用户首次登录的单点登录***内的某个业务***,用于在通过所述用户的登录认证时,向所述用户浏览器发送存储所述用户在该业务***登录时的登录信息的指令,通过所述用户浏览器请求所述单点登录认证中心存储所述用户在该业务***登录时的登录信息;
所述用户浏览器,还用于在接收到所述某个业务***请求存储所述用户在该业务***登录时的登录信息的指令后,向所述单点登录认证中心发送存储所述用户在该业务***登录时的登录信息的请求;
所述单点登录认证中心,用于在接收到所述用户浏览器的请求后,将所述用户在该业务***登录时的登录信息进行存储。
10.如权利要求9所述的***,其特征在于:
所述某个业务***存储所述用户在该业务***登录时的登录信息的指令中携带有所述单点登录***内某个业务***的重定向地址和业务***标识;
所述用户浏览器存储所述用户在该业务***登录时的登录信息的请求中携带有所述某个业务***的重定向地址、业务***标识以及所述用户在该业务***登录时的登录信息;
所述单点登录认证中心,用于在接收到所述用户浏览器的请求后,将所述用户在该业务***登录时的登录信息进行存储,包括:
所述单点登录认证中心收到所述请求后,生成所述用户在该业务***登录时的全局会话,并为该用户在单点登录认证中心的本次登录行为配置全局会话ID,在所述全局会话的会话信息中保存所述某个业务***的业务***标识和所述用户在该业务***登录时的登录信息,并将所述全局会话ID返回至所述用户浏览器,并通过所述用户浏览器重定向给所述某个业务***,重定向地址为所述某个业务***的重定向地址;
所述用户浏览器,还用于在接收并保存所述单点登录认证中心返回的所述用户的全局会话ID,并传递给所述某个业务***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410422428.5A CN104158818B (zh) | 2014-08-25 | 2014-08-25 | 一种单点登录方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410422428.5A CN104158818B (zh) | 2014-08-25 | 2014-08-25 | 一种单点登录方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104158818A true CN104158818A (zh) | 2014-11-19 |
CN104158818B CN104158818B (zh) | 2018-09-11 |
Family
ID=51884223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410422428.5A Active CN104158818B (zh) | 2014-08-25 | 2014-08-25 | 一种单点登录方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104158818B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105592031A (zh) * | 2014-11-25 | 2016-05-18 | ***股份有限公司 | 基于身份认证的用户登陆方法及*** |
CN106331042A (zh) * | 2015-07-01 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 一种异构用户***的单点登录方法及其装置 |
CN106899615A (zh) * | 2017-04-18 | 2017-06-27 | 北京思特奇信息技术股份有限公司 | 一种单点登录认证方法及*** |
CN107040543A (zh) * | 2017-04-26 | 2017-08-11 | 努比亚技术有限公司 | 单点登录方法、终端及存储介质 |
CN108289101A (zh) * | 2018-01-25 | 2018-07-17 | 中企动力科技股份有限公司 | 信息处理方法及装置 |
CN109145039A (zh) * | 2017-12-25 | 2019-01-04 | 北极星云空间技术股份有限公司 | 一种适用于联邦制工作流集成的ui桥接的方法 |
CN109729045A (zh) * | 2017-10-30 | 2019-05-07 | 腾讯科技(深圳)有限公司 | 单点登录方法、***、服务器以及存储介质 |
CN110213356A (zh) * | 2019-05-21 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种基于数据处理的登录处理方法及相关设备 |
CN110336828A (zh) * | 2019-07-15 | 2019-10-15 | 中国联合网络通信集团有限公司 | 一种信息同步方法和第一服务器 |
CN110765443A (zh) * | 2019-10-24 | 2020-02-07 | 深圳前海环融联易信息科技服务有限公司 | 单点登录的方法、装置、计算机设备及存储介质 |
CN112632491A (zh) * | 2020-12-15 | 2021-04-09 | 读书郎教育科技有限公司 | 一种实现多信息***共用账号体系的方法 |
CN113011695A (zh) * | 2020-10-20 | 2021-06-22 | 上海仪电鑫森科技发展有限公司 | 基于soa技术的大数据生态环境*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026481A (zh) * | 2006-02-21 | 2007-08-29 | 华为技术有限公司 | 一种集中用户安全管理方法及装置 |
CN102857484A (zh) * | 2011-07-01 | 2013-01-02 | 阿里巴巴集团控股有限公司 | 一种实现单点登录的方法、***及装置 |
-
2014
- 2014-08-25 CN CN201410422428.5A patent/CN104158818B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026481A (zh) * | 2006-02-21 | 2007-08-29 | 华为技术有限公司 | 一种集中用户安全管理方法及装置 |
CN102857484A (zh) * | 2011-07-01 | 2013-01-02 | 阿里巴巴集团控股有限公司 | 一种实现单点登录的方法、***及装置 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105592031A (zh) * | 2014-11-25 | 2016-05-18 | ***股份有限公司 | 基于身份认证的用户登陆方法及*** |
CN106331042B (zh) * | 2015-07-01 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 一种异构用户***的单点登录方法及其装置 |
CN106331042A (zh) * | 2015-07-01 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 一种异构用户***的单点登录方法及其装置 |
CN106899615A (zh) * | 2017-04-18 | 2017-06-27 | 北京思特奇信息技术股份有限公司 | 一种单点登录认证方法及*** |
CN107040543A (zh) * | 2017-04-26 | 2017-08-11 | 努比亚技术有限公司 | 单点登录方法、终端及存储介质 |
CN109729045A (zh) * | 2017-10-30 | 2019-05-07 | 腾讯科技(深圳)有限公司 | 单点登录方法、***、服务器以及存储介质 |
CN109729045B (zh) * | 2017-10-30 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 单点登录方法、***、服务器以及存储介质 |
CN109145039B (zh) * | 2017-12-25 | 2022-01-28 | 北极星云空间技术股份有限公司 | 一种适用于联邦制工作流集成的ui桥接的方法 |
CN109145039A (zh) * | 2017-12-25 | 2019-01-04 | 北极星云空间技术股份有限公司 | 一种适用于联邦制工作流集成的ui桥接的方法 |
CN108289101B (zh) * | 2018-01-25 | 2021-02-12 | 中企动力科技股份有限公司 | 信息处理方法及装置 |
CN108289101A (zh) * | 2018-01-25 | 2018-07-17 | 中企动力科技股份有限公司 | 信息处理方法及装置 |
CN110213356A (zh) * | 2019-05-21 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种基于数据处理的登录处理方法及相关设备 |
CN110213356B (zh) * | 2019-05-21 | 2021-11-12 | 深圳壹账通智能科技有限公司 | 一种基于数据处理的登录处理方法及相关设备 |
CN110336828A (zh) * | 2019-07-15 | 2019-10-15 | 中国联合网络通信集团有限公司 | 一种信息同步方法和第一服务器 |
CN110765443A (zh) * | 2019-10-24 | 2020-02-07 | 深圳前海环融联易信息科技服务有限公司 | 单点登录的方法、装置、计算机设备及存储介质 |
CN113011695A (zh) * | 2020-10-20 | 2021-06-22 | 上海仪电鑫森科技发展有限公司 | 基于soa技术的大数据生态环境*** |
CN112632491A (zh) * | 2020-12-15 | 2021-04-09 | 读书郎教育科技有限公司 | 一种实现多信息***共用账号体系的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104158818B (zh) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104158818A (zh) | 一种单点登录方法及*** | |
US20200304485A1 (en) | Controlling Access to Resources on a Network | |
CN102098158B (zh) | 跨域名单点登录和注销的方法、***及相应设备 | |
EP2633667B1 (en) | System and method for on the fly protocol conversion in obtaining policy enforcement information | |
CN110300133B (zh) | 跨域数据传输方法、装置、设备及存储介质 | |
US20160366151A1 (en) | Authentication server system, method, and storage medium | |
CN105229987A (zh) | 主动联合的移动认证 | |
US10659516B2 (en) | Data caching and resource request response | |
CN106254319B (zh) | 一种轻应用登录控制方法和装置 | |
CN108881228A (zh) | 云端注册激活方法、装置、设备和存储介质 | |
CN113542201B (zh) | 一种用于互联网业务的访问控制方法与设备 | |
CN108259431A (zh) | 多应用间共享账号信息的方法、装置及*** | |
CN105592035A (zh) | 一种用于多个应用***的单点登录方法 | |
RU2654854C1 (ru) | Способ сбора данных о пользователе устройства беспроводной связи и машиночитаемый носитель для реализации этого способа | |
CN104168304A (zh) | Vdi环境下的单点登录***及方法 | |
CN105592180A (zh) | 一种Portal认证的方法和装置 | |
CN108900562B (zh) | 登录状态的共享方法、装置、电子设备及介质 | |
CN108259457A (zh) | 一种web认证方法及装置 | |
CN108076077A (zh) | 一种会话控制方法及装置 | |
CN105991640A (zh) | 处理http请求的方法及装置 | |
CN108809969A (zh) | 一种认证方法、***及其装置 | |
CN103634111A (zh) | 单点登录方法和***及单点登录客户端 | |
CN108462671A (zh) | 一种基于反向代理的认证保护方法及*** | |
CN111698196A (zh) | 一种鉴权方法及微服务*** | |
CN108696864B (zh) | 虚拟号码请求和发送方法、装置及存储介质 |
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 |