一种远程系统单点登录的方法技术方案

技术编号:19278282 阅读:56 留言:0更新日期:2018-10-30 18:29
本发明专利技术涉及一种远程系统单点登录方法,该方法包括:第一域的单点登录发起方将通过第一域认证的用户的单点登录认证信息发送给第二域的单点登录中心;在所述单点登录认证信息认证通过后,所述单点登录发起方从所述第二域的单点登录中心接收所述用户的跨域单点登录认证信息,其中,所述跨域单点登录认证信息中包含有所述第二域的单点登录中心的签名信息;所述单点登录发起方向第二域的单点登录接收方发送所述跨域单点登录认证信息。采用本发明专利技术方案能够实现跨域的单点登录,且易于部署,无需对现有系统进行过多改动。

A single sign on method for remote system

The present invention relates to a remote system single sign-on method, which comprises: a single sign-on initiator of the first domain will send the single sign-on authentication information of a user authenticated by the first domain to a single sign-on center of the second domain; and the single sign-on initiator from the said single sign-on initiator after the authentication of the single sign-on authentication information has passed. The two-domain single sign-on center receives the user's cross-domain single sign-on authentication information, wherein the cross-domain single sign-on authentication information contains the signature information of the second-domain single sign-on center, and the single sign-on receiver of the single sign-on initiation direction second domain sends the cross-domain single sign-on authentication information. . The scheme of the invention can realize cross-domain single sign-on, and is easy to deploy, without much modification to the existing system.

【技术实现步骤摘要】
一种远程系统单点登录的方法
本专利技术涉及通讯技术,尤其涉及一种远程系统单点登录的方法。
技术介绍
单点登录(SingleSignOn,SSO)是目前比较流行的包括企业在内的各类组织业务整合的解决方案之一,使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的其它应用系统。单点登录因其在工作上带来的方便作用而运用得越来越广泛,但由于每个系统互相独立,用户每使用一个系统都要登录相应的平台才能进行操作,这给用户使用带来很多额外而且重复的操作。为了解决这个问题,单点登录技术对系统的登录流程进行了简化。然而,专利技术人发现现有技术中至少存在以下技术问题:现在单点登录技术的均为基于web实现,通过共享web应用的会话对象存储多个web系统的单点登录信息,而对于C/S类型的应用系统由于不存在共享的会话对象使得无法实现C/S应用的单点登录,造成对于C/S类应用只能通过用户手动输入账号密码来实现,使得操作的便利性不足。
技术实现思路
有鉴于此,本专利技术提供一种远程系统单点登录的方法。本专利技术所述一种远程系统单点登录的方法,包括:客户端对应用添加hook,通过所述hook检测所述应用弹出的密码输入窗口,并向单点登录服务器发起申请登录请求;所述单点登录服务器根据所述申请登录请求返回相应的单点登录信息;所述客户端判断是否获取到返回的单点登录信息,若是,则根据所述单点登录信息向认证服务器发起登录请求;否则,获取所述密码输入窗口的输入数据,根据所述输入数据向认证服务器发起登录请求,并将所述输入数据上传所述单点登录服务器。本专利技术中,所述申请登录请求中包括所述应用的应用标识;所述单点登录服务器根据所述申请登录请求返回相应的单点登录信息的步骤还包括:所述单点登录服务器判断所述申请登录请求中的应用标识是否属于预设的支持单点登录的应用列表,若是则返回相应的单点登录信息。本专利技术中,所述客户端根据所述单点登录信息向认证服务器发起登录请求的步骤之后还包括:若所述客户端根据所述单点登录信息登录失败,则执行所述获取所述密码输入窗口的输入数据的步骤。本专利技术中,所述客户端通过所述hook检测所述应用弹出的密码输入窗口的步骤包括:所述客户端通过所述hook检测所述应用弹出的可编辑且具有ES_PASSWORD属性的窗口控件。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。图1为一个实施例中单点登录方法的流程示意图;图2为一个实施例中单点登录系统的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。如图1所示,在一个实施例中,一种单点登录方法。该方法完全依赖计算机程序,可运行于基于冯诺依曼体系的计算机系统上,该方法包括如下步骤:步骤S102,客户端对应用添加hook,通过hook检测应用弹出的密码输入窗口,并向单点登录服务器发起申请登录请求。在本实施例中,对应用添加hook即对应用进行挂钩。钩子程序实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。具体的,可通过hook获取可编辑且具有ES_PASSWORD属性的窗口控件,获取窗口控件的输入数据。可编辑且具有ES_PASSWORD属性的窗口控件即为用户在客户端通过该应用登录远程服务器时输入账号密码的登录窗口。可通过hook对该登录窗口的用户输入进行检测和记录,获取输入数据。在本实施例中,可通过钩子程序检测用户在应用的密码输入窗口的输入数据,包括检测用户的按键输入、鼠标点击输入、鼠标划动输入以及指纹输入等输入信息。在本实施例中,还可通过检测窗口关闭事件结束监听。步骤S104,单点登录服务器根据申请登录请求返回相应的单点登录信息。在本实施例中,申请登录请求中可包括应用的应用标识。单点登录服务器从客户端发送的登录请求中提取应用的应用标识,判断应用的应用标识是否属于单点登录服务器中预设的支持单点登录的应用列表,若是,则返回相应的单点登录信息。例如,客户端上有多个应用,有的应用支持单点登录有的不支持单点登录。当客户端启动应用之后,向单点登录服务器发起申请登录请求,该申请登录请求中包含该应用的应用标识。单点登录服务器能在其预设的支持单点登录的应用列表中查找该应用标识,若查找到,则表示该应用支持单点登录功能,从而向客户端返回相应的单点登录信息;若未查找到,则表示该应用不支持单点登录功能,可向客户端返回提示信息。进一步的,申请登录请求中还可包括用户标识,如客户端的网络地址、设备生成码或者用户的账号等。单点登录服务器根据客户端对应的标识返回与客户端相应的单点登录信息,该单点登录信息可包含用户的账号和密码。例如,用户双击应用对应的图标或者在命令行输入指令启动应用时,客户端对该应用进行挂钩并显示登录界面,通过钩子程序检测应用弹出的密码输入窗口,接着客户端向单点登录服务器发送申请登录请求,该申请登录请求中可包含客户端的网络地址、设备生成码或者用户的账号(用户的账号可自动记录在客户端的配置文件中,可由配置文件读取该账号)。单点登录服务器接收客户端发送的申请登录请求之后,从申请登录请求中提取出该客户端的网络地址、设备生成码或者用户的账号等用户标识,并查找到相应的单点登录信息,将该单点登录信息返回至该客户端。步骤S106,客户端判断是否获取到返回的单点登录信息,若是,则根据单点登录信息向认证服务器发起登录请求;否则,获取密码输入窗口的输入数据,根据输入数据向认证服务器发起登录请求,并将输入数据上传单点登录服务器。在本实施例中,客户端可由单点登录服务器返回的单点登录信息提取出账号和密码,然后根据该账号和密码生成登录请求发送给认证服务器。认证服务器对该登录请求中的账号密码进行校验,若校验成功则用户完成登录;若校验失败,则返回提示信息。客户端可根据提示信息重新展示登录窗口,提示用户密码错误需要重新登录。进一步的,在本实施例中,若根据单点登录信息登录失败,则执行获取密码输入窗口的输入数据的步骤,获取用户重新输入的账号和密码,并将其上传至单点登录服务器,从而更新单点登录服务器中存储的相应的单点登录信息。在一个实施例中,若客户端未获取到返回的单点登录信息(单点登录服务器未查找到单点登录信息或单点登录服务器向客户端返回单点登录信息时出现网络错误造成客户端未接收到单点登录信息,且单点登录服务器未查找到单点登录信息即为用户首次登录),则执行获取密码输入窗口的输入数据的步骤,根据输入数据向认证服务器发本文档来自技高网
...

【技术保护点】
1.一种远程系统单点登录的方法,其特征在于,包括:客户端对应用添加hook,通过所述hook检测所述应用弹出的密码输入窗口,并向单点登录服务器发起申请登录请求;所述单点登录服务器根据所述申请登录请求返回相应的单点登录信息;所述客户端判断是否获取到返回的单点登录信息,若是,则根据所述单点登录信息向认证服务器发起登录请求;否则,获取所述密码输入窗口的输入数据,根据所述输入数据向认证服务器发起登录请求,并将所述输入数据上传所述单点登录服务器。

【技术特征摘要】
1.一种远程系统单点登录的方法,其特征在于,包括:客户端对应用添加hook,通过所述hook检测所述应用弹出的密码输入窗口,并向单点登录服务器发起申请登录请求;所述单点登录服务器根据所述申请登录请求返回相应的单点登录信息;所述客户端判断是否获取到返回的单点登录信息,若是,则根据所述单点登录信息向认证服务器发起登录请求;否则,获取所述密码输入窗口的输入数据,根据所述输入数据向认证服务器发起登录请求,并将所述输入数据上传所述单点登录服务器。2.根据权利要求1所述远程系统单点登录的方法,其特征在于,所述申请登录请求中包括所述应用的应用标识;所述单点登录服务器根据所述申请登录请求返回相应的单...

【专利技术属性】
技术研发人员:陈焕耀
申请(专利权)人:广州市冰海网络技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1