本发明涉及计算机技术领域,特别涉及一种sso登录的方法及系统。
背景技术:
sso(singlesignon,单点登录),是一套统一登录认证的解决方案。在sso系统中,通过整合多个相互受信的子系统,使用户只需要在sso系统中完成一次登录认证后,就可以访问所有相互授信的子系统,真正意义上实现一次登录随处访问。
然而,现有的sso登录的统一用户身份系统中,子系统要使用sso登录时需要编写一定的代码以完成和统一用户身份系统的对接,需要耗费一定的工作量,且可能对接时出现bug,而对于静态站点因为无法编写服务端逻辑则无法完成接入。
技术实现要素:
(一)要解决的技术问题
为了解决现有技术的上述问题,本发明提供一种sso登录的方法及系统,能够解决上述技术问题。
(二)技术方案
为了达到上述目的,本发明采用的一种技术方案为:
一种sso登录的方法,包括步骤:
s1、openresty代理端对子系统页面的用户请求进行拦截,并判断当前用户的状态是否为未登录状态,若是,则跳转到统一身份管理端,否则,将发送消息至服务端;
s2、所述统一身份管理端进行sso登录;
s3、登录成功后,所述openresty代理端对登录进行回调,完成登录。
为了达到上述目的,本发明采用的另一种技术方案为:
一种sso登录的系统,所述系统包括:
s1、openresty代理端对子系统页面的用户请求进行拦截,并判断当前用户的状态是否为未登录状态,若是,则跳转到统一身份管理端,否则,将发送消息至服务端;
s2、所述统一身份管理端进行sso登录;
s3、登录成功后,openresty代理端对登录进行回调,完成登录。
(三)有益效果
本发明的有益效果在于:通过openresty代理端对子系统页面的用户请求进行拦截,并判断当前用户的状态是否为未登录状态,若是,则跳转到统一身份管理端,否则,将发送消息至服务端;所述统一身份管理端进行sso登录;登录成功后,openresty代理端对登录进行回调,完成登录,利用openresty代理端实现的nginx通用sso登录方法,通过在nginx直接集成sso降低了工作量,而且克服了现有技术中对于静态站点因为无法编写服务端逻辑则无法完成接入的问题。
附图说明
图1为本发明实施例的sso登录的方法流程图;
图2为本发明实施例的sso登录的系统的整体结构示意图。
【附图标记说明】
1:sso登录的系统;
2:openresty代理端;
3:统一身份管理端。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
实施例一
请参照图1,一种sso登录的方法,包括步骤:
s1、openresty代理端对子系统页面的用户请求进行拦截,并判断当前用户的状态是否为未登录状态,若是,则跳转到统一身份管理端,否则,将发送消息至服务端;
所述消息包括用户请求和用户id。
s2、所述统一身份管理端进行sso登录;
步骤s2具体为:
所述统一身份管理端进行sso登录,若登录成功,则发送标识信息至所述openresty代理端。
具体地,所述标识信息具体为临时code;
s3、登录成功后,所述openresty代理端对登录进行回调,完成登录。
步骤s3具体为:
所述openresty代理端对接收到的标识信息进行验证,若验证成功,则标记为已登录,并跳转至子系统进行访问。
具体地,若验证成功,则设置cookie标记为已登录。
还包括步骤:
在openresty代理端的location配置中增加回调路径用于回调。
具体地,在location配置中增加回调路径__ids_callback用于sso登录回调。
实施例二
请参照图2,一种sso登录的系统1,所述系统包括:
s1、openresty代理端2对子系统页面的用户请求进行拦截,并判断当前用户的状态是否为未登录状态,若是,则跳转到统一身份管理端3,否则,将发送消息至服务端;
所述消息包括用户请求和用户id。
s2、所述统一身份管理端3进行sso登录;
步骤s2具体为:
所述统一身份管理端3进行sso登录,若登录成功,则发送标识信息至所述openresty代理端2。
具体地,所述标识信息具体为临时code;
s3、登录成功后,所述openresty代理端2对登录进行回调,完成登录。
步骤s3具体为:
所述openresty代理端2对接收到的标识信息进行验证,若验证成功,则标记为已登录,并跳转至子系统进行访问。
具体地,若验证成功,则设置cookie标记为已登录。
还包括步骤:
在openresty代理端2的location配置中增加回调路径用于回调。
具体地,在location配置中增加回调路径__ids_callback用于sso登录回调。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
1.一种sso登录的方法,其特征在于,包括步骤:
s1、openresty代理端对子系统页面的用户请求进行拦截,并判断当前用户的状态是否为未登录状态,若是,则跳转到统一身份管理端,否则,将发送消息至服务端;
s2、所述统一身份管理端进行sso登录;
s3、登录成功后,所述openresty代理端对登录进行回调,完成登录。
2.根据权利要求1所述的sso登录的方法,其特征在于,所述消息包括用户请求和用户id。
3.根据权利要求1所述的sso登录的方法,其特征在于,步骤s2具体为:
所述统一身份管理端进行sso登录,若登录成功,则发送标识信息至所述openresty代理端。
4.根据权利要求1所述的sso登录的方法,其特征在于,步骤s3具体为:
所述openresty代理端对接收到的标识信息进行验证,若验证成功,则标记为已登录,并跳转至子系统进行访问。
5.根据权利要求1所述的sso登录的方法,其特征在于,还包括步骤:
在openresty代理端的location配置中增加回调路径用于回调。
6.一种sso登录的系统,其特征在于,所述系统包括:
s1、openresty代理端对子系统页面的用户请求进行拦截,并判断当前用户的状态是否为未登录状态,若是,则跳转到统一身份管理端,否则,将发送消息至服务端;
s2、所述统一身份管理端进行sso登录;
s3、登录成功后,openresty代理端对登录进行回调,完成登录。
7.根据权利要求1所述的sso登录的系统,其特征在于,所述消息包括用户请求和用户id。
8.根据权利要求1所述的sso登录的系统,其特征在于,步骤s2具体为:
所述统一身份管理端进行sso登录,若登录成功,则发送标识信息至所述openresty代理端。
9.根据权利要求1所述的sso登录的系统,其特征在于,步骤s3具体为:
所述openresty代理端对接收到的标识信息进行验证,若验证成功,则标记为已登录,并跳转至子系统进行访问。
10.根据权利要求1所述的sso登录的系统,其特征在于,还包括步骤:
在openresty代理端的location配置中增加回调路径用于回调。