一种基于ukey认证的单点登录实现方法与流程

文档序号:19247992发布日期:2019-11-27 19:51阅读:2827来源:国知局
一种基于ukey认证的单点登录实现方法与流程

本发明涉及网络技术领域,更具体的说是涉及一种基于ukey认证的单点登录实现方法。



背景技术:

单点登录sso(singlesignon)简单来说就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。

无论在大型网站还是企业网站,单点登录是被广泛使用的解决方案。由于网站规模庞大,涉及的子系统成百上千,如果在每个系统都需要重新认证一遍,不仅耗时耗力,对用户来讲感知是极其不好的。

现在实现单点登录最常用的方案是通过cas实现。cas是centralauthenticationservice的缩写,中央认证服务,一种独立开放指令协议。cas是yale大学发起的一个开源项目,旨在为web应用系统提供一种可靠的单点登录方法,cas在2004年12月正式成为ja-sig的一个项目。但是目前cas只支持用户名密码的认证。

有些时候,我们可能需要其他的认证方式,针对cas的局限性,我们需要设计一个新的解决方案。



技术实现要素:

针对以上问题,本发明的目的在于提供一种基于ukey认证的单点登录实现方法,实现了跨域登录,能够选择登录系统,并可扩展认证方式。

本发明为实现上述目的,通过以下技术方案实现:一种基于ukey认证的单点登录实现方法,包括:

使用安全管理框架建立身份认证系统,并进行key与系统用户的绑定和身份认证;

通过跨域身份验证解决方案保存认证用户信息;

用户直接进行系统登录时,首先进入身份认证系统进行身份认证,身份认证成功后,跳转到用户要访问的系统首页,身份认证系统自动跳回身份认证系统首页。

进一步,用户通过身份认证系统进行系统登录时,身份认证系统向用户展示可访问的系统,用户选择进入。

进一步,所述安全管理框架采用apacheshiro;所述跨域身份验证解决方案采用jsonwebtoken。

进一步,所述身份认证基于pki级别的ukey认证,后台生成随机数,前台使用ukey中的密钥进行加密,并将密文和公钥传递给后台,后台进行验证,如果通过则认证成功,否则认证失败。

进一步,所述通过跨域身份验证解决方案保存认证用户信息具体为:

通过jsonwebtoken协议生成token,并将用户认证信息保存在memcached中,身份认证系统向提供用户可访问的系统列表,供用户选择。

进一步,用户直接进行系统登录时,首先进入shiro身份认证系统进行身份认证,检验用户是否登录过要访问系统,如果是,直接跳转到用户要访问的系统首页;如果否,校验是否有token,如果有token,直接跳转到用户要访问的系统首页;如果没有token,进入身份认证系统首页。

进一步,进入身份认证系统首页后,携带回调地址重定向到uias进行key登录,判断该用户是否有权限,如果有则登录并产生token,并保存,同时返回到要访问的系统。

进一步,用户还可以通过身份认证系统进行系统登录,登录时,直接在身份认证系统的登录页进行key登录,登录成功后,身份认证系统向用户展示可访问的系统,用户选择进入。

进一步,用户直接进行系统登录时,通过shirofiter进行过滤,使访问请求可以到达用户的请求访问的系统地址。

对比现有技术,本发明有益效果如下:

1、身份认证是基于pki体系的ukey认证,身份认证系统安全可靠,保证了证书的合法性和登录的合法性。

2、通过使用memcached,解决jsonwebtoken的跨域问题。

3、登录系统可选择。通过认证系统展示了用户可用系统,提供了门户作用。

4、认证方式可扩展,可选择多种认证方式。

本发明提供了一种基于ukey认证的单点登录实现方法,通过身份认证系统,实现key与系统用户的绑定,身份认证基于pki级别的ukey认证,后台生成随机数,前台使用ukey中的密钥进行加密,并将密文和公钥传递给后台,后台进行验证,如果通过则认证成功,否则认证失败。

本发明借助jjsonwebtoken生成token.保存认证用户信息。jsonwebtoken(jwt)是一个开放标准(rfc7519),它定义了一种紧凑的、自包含的方式,用于作为json对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。认证成功后,跳转到要访问的系统,在系统中取得对应的token进行验证。token验证成功在进入系统首页,验证认证跳转回认证系统首页。若直接访问认证系统,则进入认证系统展示用户可访问的系统,用户选择进入。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

附图1是本发明实施例一的方法流程图。

附图2是本发明实施例二的方法流程图。

具体实施方式

下面结合附图对本发明的具体实施方式做出说明。

实施例一:

如图1所示的一种基于ukey认证的单点登录实现方法,包括:

使用安全管理框架建立身份认证系统,并进行key与系统用户的绑定和身份认证。

通过跨域身份验证解决方案保存认证用户信息。

用户直接进行系统登录时,首先进入身份认证系统进行身份认证,身份认证成功后,跳转到用户要访问的系统首页,身份认证系统自动跳回身份认证系统首页。

用户通过身份认证系统进行系统登录时,身份认证系统向用户展示可访问的系统,用户选择进入。

实施例二:

在实施例一的基础上,所述安全管理框架采用apacheshiro;所述跨域身份验证解决方案采用jsonwebtoken。apacheshiro是一个强大且易用的java安全框架,执行身份验证、授权、密码和会话管理。借助于现有优秀的安全管理框架shiro实现系统的权限管理,同时参考cas模式实现认证系统,系统的认证基于pki级别的ukey认证完成。完成认证后,借助jwt生成token保存在memcached中,用户即可登录其他的系统而不用再进行认证,用户在某一系统登出后,需重新进行认证。sonwebtoken(jwt)是目前最流行的跨域身份验证解决方案。

如图2所示的一种基于ukey认证的单点登录实现方法,包括:

使用安全apacheshiro建立身份认证系统,并进行key与系统用户的绑定和身份认证。身份认证基于pki级别的ukey认证,后台生成随机数,前台使用ukey中的密钥进行加密,并将密文和公钥传递给后台,后台进行验证,如果通过则认证成功,否则认证失败。

通过jsonwebtoken协议生成token,并将用户认证信息保存在memcached中,身份认证系统向提供用户可访问的系统列表,供用户选择。

用户直接进行系统登录时,首先通过shirofiter进行过滤,使访问请求可以到达用户的请求访问的系统地址。然后进入shiro身份认证系统进行身份认证,检验用户是否登录过要访问系统,如果是,直接跳转到用户要访问的系统首页;如果否,校验是否有token,如果有token,直接跳转到用户要访问的系统首页;如果没有token,进入身份认证系统首页。进入身份认证系统首页后,携带回调地址重定向到uias进行key登录,判断该用户是否有权限,如果有则登录并产生token,并保存,同时返回到要访问的系统。

用户还可以通过身份认证系统进行系统登录,登录时,直接在身份认证系统的登录页进行key登录,登录成功后,身份认证系统向用户展示可访问的系统,用户选择进入。

本实施例提供了一种基于ukey认证的单点登录实现方法,通过身份认证系统,实现key与系统用户的绑定;通过jjsonwebtoken生成token.保存认证用户信息。认证成功后,跳转到要访问的系统,在系统中取得对应的token进行验证。token验证成功在进入系统首页,验证认证跳转回认证系统首页。若直接访问认证系统,则进入认证系统展示用户可访问的系统,用户选择进入。

结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1