一种系统集成的认证方法及系统的制作方法

文档序号:9754595阅读:436来源:国知局
一种系统集成的认证方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据安全技术领域,特别涉及一种系统集成的认证方法及系统。
【背景技术】
[0002]随着互联网和信息化的飞速发展,带来的是各种各样的系统的出现,而这些系统之间又存在着可以共享资源的性质。随着云计算的快速发展,很多系统都有集成云计算平台的需求,能够快速访问业务系统的同时,可以方便的申请云资源。Openstack是一个非常稳定的云计算平台,已经被广泛的使用,这样就有了和Openstack集成的需求。
[0003]而集成的首要任务就是认证的集成。不同的系统,具有不同的业务,也就具有不同的认证模型的需求。Keystone是Openstack项目的一个有效且方便的认证系统,但是其认证模型比较单一,且主要针对OpenStack的业务来设计。在对其他业务系统进行认证管理的时候,就显得比较局限。所以在对Openstack和其他系统进行集成时,就要寻找一种有效的统一认证方法,既能满足其他系统的认证模型的需求,又可以做到不修改Openstack的认证流程。所以,如何进行其他系统与Openstack集成时的混合认证,是本领域技术人员需要解决的技术问题。

【发明内容】

[0004]本发明的目的是提供一种系统集成的认证方法,该方法能够在系统集成时,完成公同认证;本发明的另一目的是提供一种系统集成的认证系统。
[0005]为解决上述技术问题,本发明提供一种系统集成的认证方法,包括:
[0006]接收用户发送的认证信息,并判断所述认证信息中是否含有令牌;
[0007]若未含有,则根据所述认证信息,利用第一认证系统进行用户身份认证,若用户身份认证通过,则生成第一令牌及对应的第二令牌,并返回用户所述第一令牌,完成认证;
[0008]若含有,则利用所述第一认证系统认证所述令牌是否是第一令牌,若是第一令牌,则生成与所述第一令牌对应的第二令牌,完成认证;
[0009]若不是第一令牌,则利用第二认证系统认证所述令牌是否是第二令牌,若是第二令牌,则生成与所述第二令牌对应的第一令牌,并返回用户生成的所述第一令牌,完成认证。
[0010]其中,所述根据所述认证信息,利用第一认证系统进行用户身份认证,若用户身份认证通过,则生成第一令牌及对应的第二令牌,包括:
[0011 ]根据所述认证信息,利用第一认证系统进行用户身份认证;
[0012]若用户身份认证通过,则在所述第一认证系统获取用户身份对应的所述第二认证系统的用户信息;
[0013]利用所述第二认证系统的用户信息获取对应的第二令牌,并将所述第二令牌返回给所述第一认证系统;
[0014]所述第一认证系统根据接收到的所述第二令牌,生成对应的第一令牌,将所述第一令牌和所述第二令牌映射保存。
[0015]其中,所述第一认证系统获取所述第二认证系统的用户信息之前,包括:
[0016]利用所述第一认证系统将所述第二认证系统的用户信息和所有的用户信息进行链接;
[0017]所述第一认证系统通过所述第二认证系统开放的接口,获取所述第二认证系统的用户信息,并保存到所述第一认证系统的用户信息库中;
[0018]通过所述第一认证系统的策略机制,映射其他系统的用户信息到所述第二认证系统的用户信息。
[0019]其中,所述将所述第一令牌和所述第二令牌映射保存,包括:
[0020]将所述第一令牌和所述第二令牌存放到sess1n对象中;
[0021 ] 将所述sess1n对象进行hash缓存。
[0022]其中,所述完成认证之后,还包括:
[0023]接收用户发送的资源访问请求及第一令牌;
[0024]利用所述第一认证系统验证所述第一令牌是否正确;
[0025]若所述第一令牌正确,则查找所述第一令牌对应的第二令牌,并将所述第二令牌及所述资源访问请求发送给资源系统;
[0026]利用所述第二认证系统验证所述第二令牌是否正确;
[0027]若所述第二令牌正确,则将所述资源访问请求对应的资源地址返回给用户。
[0028]本发明提供一种系统集成的认证系统,包括:
[0029]接收模块,用于接收用户发送的认证信息,并判断所述认证信息中是否含有令牌;
[0030]第一认证模块,用于若未含有,则根据所述认证信息,利用第一认证系统进行用户身份认证,若用户身份认证通过,则生成第一令牌及对应的第二令牌,并返回用户所述第一令牌,完成认证;
[0031 ]第二认证模块,用于若含有,则利用所述第一认证系统认证所述令牌是否是第一令牌,若是第一令牌,则生成与所述第一令牌对应的第二令牌,完成认证;
[0032]第三认证模块,用于若不是第一令牌,则利用第二认证系统认证所述令牌是否是第二令牌,若是第二令牌,则生成与所述第二令牌对应的第一令牌,并返回用户生成的所述第一令牌,完成认证。
[0033]其中,所述第一认证模块包括:
[0034]身份认证单元,用于根据所述认证信息,利用第一认证系统进行用户身份认证;
[0035]用户信息获取单元,用于若用户身份认证通过,则在所述第一认证系统获取用户身份对应的所述第二认证系统的用户信息;
[0036]令牌单元,用于利用所述第二认证系统的用户信息获取对应的第二令牌,并将所述第二令牌返回给所述第一认证系统,所述第一认证系统根据接收到的所述第二令牌,生成对应的第一令牌;
[0037]保存单元,用于将所述第一令牌和所述第二令牌映射保存。
[0038]其中,还包括:
[0039]连接单元,用于利用所述第一认证系统将所述第二认证系统的用户信息和所有的用户信息进行链接;
[0040]获取单元,用于所述第一认证系统通过所述第二认证系统开放的接口,获取所述第二认证系统的用户信息,并保存到所述第一认证系统的用户信息库中;
[0041]映射单元,用于通过所述第一认证系统的策略机制,映射其他系统的用户信息到所述第二认证系统的用户信息。
[0042]其中,所述保存单元包括:
[0043]保存子单元,用于将所述第一令牌和所述第二令牌存放到sess1n对象中;将所述sess1n对象进行hash缓存。
[0044]其中,还包括:
[0045]请求模块,用于接收用户发送的资源访问请求及第一令牌;
[0046]第一验证模块,用于利用所述第一认证系统验证所述第一令牌是否正确;
[0047]查找模块,用于若所述第一令牌正确,则查找所述第一令牌对应的第二令牌,并将所述第二令牌及所述资源访问请求发送给资源系统;
[0048]第二验证模块,用于利用所述第二认证系统验证所述第二令牌是否正确;
[0049]发送模块,用于若所述第二令牌正确,则将所述资源访问请求对应的资源地址返回给用户。
[0050]本发明所提供的系统集成的认证方法及系统,包括:接收用户发送的认证信息,并判断所述认证信息中是否含有令牌;若未含有,则根据所述认证信息,利用第一认证系统进行用户身份认证,若用户身份认证通过,则生成第一令牌及对应的第二令牌,并返回用户所述第一令牌;若含有,则利用所述第一认证系统认证所述令牌是否是第一令牌,若是第一令牌,则生成与所述第一令牌对应的第二令牌,完成认证;若不是第一令牌,则利用第二认证系统认证所述令牌是否是第二令牌,若是第二令牌,则生成与所述第二令牌对应的第一令牌,并返回用户生成的所述第一令牌,完成认证;
[0051]该方法通过其他系统的第一认证系统和系统的第二认证系统的联合认证,完成对集成系统的共同认证,具体可以通过联合身份验证获得第一认证系统及第二认证系统的对应映射令牌,并返回用户第一认证系
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1