基于saml单点登录模型研究与设计

基于saml单点登录模型研究与设计

ID:23698012

大小:54.00 KB

页数:6页

时间:2018-11-09

基于saml单点登录模型研究与设计_第1页
基于saml单点登录模型研究与设计_第2页
基于saml单点登录模型研究与设计_第3页
基于saml单点登录模型研究与设计_第4页
基于saml单点登录模型研究与设计_第5页
资源描述:

《基于saml单点登录模型研究与设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于SAML单点登录模型研究与设计付影平1,杜程2,刘建华1(1.西安邮电大学信息中心,陕西西安710061;2.西安邮电大学计算机学院,陕西西安710061)摘要:基于SAML的单点登录基本模型的研究,通过阐述SAML和单点登录的基本概念和相关技术,对两种传统基于SAML单点登录的模型Pull和Push深入研究分析,并根据模型的不足之处提出了一个改进型模型。最后对改进型模型系统进行基于Java模块化的设计,并且对每个模块运行流程进行了详尽的描述和介绍,同时对系统进行了实现。该改进模型解决了用户

2、跨越访问单点登路问题,具有很好的安全性与普通性。.jyqkentReceive(HttpServletResponseHttpRequest),该方法用于站点接收到网络中传输过来的HttpServle?tRequest对象,并从其中提取SOAP消息,然后从SOAPEnvelope中提取SOAPBody,并将SOAPBody的根元素转换成Document对象,返回断言请求消息的Document对象。这个方法实现了信息转换和通信的请求与应答过程,传输模块封装了底层消息和HTTP连接协议,提供给最上层

3、应用程序简明的消息传输体系。3.3信息安全处理模块设计与传输模块一样,信息安全处理模块如图7所示,也是通用模块,需要同时部署到SSO客户端和服务器端。信息安全处理模块主要由以下2个类来实现。(1)安全处理类XMLFile。XMLFile类可以对任何XML文档以及文档中的任意指定部分进行安全处理。对于本系统,安全处理模块使用在SSO服务器端和SSO客户端中,这对XMLFile类本身并没有影响,惟一不同的是2个站点使用的XML文档和密钥不同。(2)加密,数字签名类MD5Encrypt。MD5Encr

4、ypt类是开源的加密应用程序,MD5是一种散列式加密算法,具有高速、安全、高效等特点。由于JDK7工具包中自带这个加密算法类库,所以本系统应用这个进行加密和数字签名。3.4SSO服务器端设计与实现根据SAML单点登录的系统总体架构,SSO服务器端模块如图8所示,包括SAML解析器、身份认证模块、SAML断言生成器模块和用户数据库。(1)用户通过信息安全传输模块将身份信息一些标识性信息发送到SSO服务端。(2)SAML解析器对消息进行解析,提取用户信息,并发往身份认证模块。(3)身份认证模块对解析

5、后的信息进行验证并将信息与用户身份库信息进行对比确认。(4)根据对比确认判断用户信息合法性,然后提取库中的用户属性信息最后将这些属性信息提交给SAML断言生成器,为用户生成SAML断言令牌。(5)SAML断言生成器将SAML令牌发送到信息安全传输处理模块进行处理返回用户实体。其中SAML解析模块由SAMLRequest类实现。SAML解析模块从SAMLRequest所包含的Query对象中取出其中所包含的用户身份信息。解析请求的方法通过对SAMlRequest的解析,返回一个包含用户信息、属性信

6、息和标识信息的HashMap对象,进而可以从中提取出信息。身份认证模块使用用户名和属性信息对用户身份进行验证,并通过查询数据库中用户的资源返回资源列表。SAML断言生成模块的实现由samlsso.saml包中的很多类来完成的:SAMLResponse:继承了BaseResponse类,可以包含多个Assertions;SAMLAssertion:该类表示一个完整的断言,即SAML令牌;SAMLAttribute:属性类,包括属性名、属性值和命名空间等,用以表示某种属性的名称和属性值等信息;SAM

7、LStament为抽象类,是所有声明的公共基类。3.5SSO客户端设计与实现在客户端中对于普通用户可以使用原有L解析器),经过解析将用户信息和SSO服务器身份,提交给授权模块。授权模块收到用户信息后,与用户权限库信息进行比对,根据用户信息权限提供LResponseresponse),该类主要用于从SAML令牌中解析用户属性信息。PublicStaticBooleanverifyUser(Userportaluser,Userserveruser),该类主要用于检查从doc对象中获得的2次User

8、对象是否一致。PublicStaticBooleanveri?fy7Identifier(Identifieridportal,Identifieridsp),该类用于检查从doc中获得的标识信息是否与SP需要的一致。授权管理模块:使用Java来实现认证和权限分配。将所有认证和权限分配部分打包,对外只提供API,这样既方便了开发的调用,又使得不同服务之间的授权管理能够实现统一,并且方便管理维护。授权管理对外提供API的类有:登求认证,主要实现根据用户名和密码验证用户的合法身份;密码修改,为用户提

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。