- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JAAS安全机制在WebLogic Server中实现
基于JAAS安全机制在WebLogic Server中实现
[摘 要]本文分析了JAAS技术,提出了一个基于JAAS的身份认证和授权框架,采用本文提出的框架可以较好的解决WebLogic Server中对身份认证和访问控制的统一管理问题。
[关键词]Java;WebLogic Server;JAAS;LDAP
[中图分类号]F252 [文献标识码]A [文章编号]1005-6432(2010)45-0081-03
1 引 言
随着信息技术的发展,基于J2EE架构的Web应用系统广泛应用于企业、机构等各领域中,尤其是在安全性要求非常高的电子商务等系统中的大量应用,使得人们对Web应用系统的安全性越来越关注,网络安全日益成为我们迫切需要解决的问题。针对Web应用系统的安全性,提出了一种应用JAAS技术增强Web应用系统安全性的解决方法。阐述了JAAS安全机制的两个支柱:认证和授权。并且实现了WebLogic Server中与JAAS技术密切相关的角色,资源等功能。
2 JAAS安全框架
JAAS是SUN公司提出的Java平台上以用户为中???的安全框架,它由两部分组成,即认证和授权。认证取得当前执行代码的用户身份;授权根据请求用户的身份决定是否授予访问资源的权限。
2.1 JAAS认证
JAAS实现可插拔的安全认证,使得上层的Java应用程序和底层的安全认证相互分离,这样有利于使用新的登录模块或者更改已有的登录模块而不用修改上层应用。对于Java平台上的应用来说,JAAS的认证过程如图1所示。
(1)应用程序创建登录文本,传入回调处理等参数;
(2)登录文本请求配置器加载登录模块;
(3)配置器读入登录配置并根据配置文件加载登录模块;
(4)应用程序调用登录文本的login方法;
(5)登录文本调用登录模块login方法,登录模块试图对该用户进行认证;
(6)登录模块创建相应的回调实例(如NameCallback和PasswordCallback),并传递给CallbackHandler进行回调处理;通过回调,登录模块取得所需的认证信息并进行认证;当所有必要的登录模块登录成功后,每个登录模块将特定的角色和证书加入代表当前用户的Subject;
(7)应用程序得到经过认证的Subject后,可以通过该Subject进行对敏感资源的访问。2.2 JAAS授权
Java平台使用访问控制上下文确定当前执行线程的权限。在JAAS之前,访问控制以代码为中心,通过了解代码的来源和数字签名者的身份判定其访问的权限;在JAAS中,通过将Subject添加到访问控制上下文,实现基于用户角色的访问控制,即根据谁在执行代码来授予访问权限或拒绝访问。JAAS的授权可以通过编程和声明两种方式实现。编程方式下,程序通过检查经过认证的Subject中的权限特征决定是否授予访问权限;声明方式下,访问控制器通过将包含在访问控制上下文中的权限特征与策略文件中的权限配置进行对比,以决定是否允许敏感操作(在JDK1.5以前,这一工作由Java安全管理器SecurityManager完成)。
JAAS授权过程如下:
(1)应用程序取得经过认证的Subject后,调用静态类Subject的方法doAs或doAsPrivileged,两者的调用形式如下:
Subject.doAs(subject,action);
Subject.doAsPrivileged(subject,action,accessControlContext);
参数中,Subject表示经过认证的用户,action为实现敏感操作的类实例,accessControlContext为传入的访问控制上下文。doAs方法将Subject加入当前线程的访问控制上下文;doAsPrivileged方法将Subject加入accessControlContext中。
(2)action被启动以执行敏感操作。在action中,可以使用编程或声明方式进行授权。
(3)编程方式下,action检查Subject中权限特征决定是否进入敏感操作区;声明方式下,action调用静态类AccessController的方法checkPermission,对比包含在访问控制上下文中的权限特征与策略文件中的权限配置,以此决定是否进入敏感操作区。
(4)被授权后,应用程序执行action中的敏感操作。
3 WebLogic Server中JAAS的实现
WebLogic Server客户端只使用标准JAAS的身份验证部分。JAAS LoginContext支持顺序执行所
文档评论(0)