没有合适的资源?快使用搜索试试~ 我知道了~
jaas文档
资源推荐
资源详情
资源评论
当前位置: 好工具>> 网络编程 >> .Net
jaas概述以及jboss安全性配置 (转)
作者:小折腾 | 出处:博客园 | 2011/11/18 19:02:12 | 阅读25次
关于JAAS概念性的东西我就不自己写了,主要内容大部分来自Sun的官方资料《java_security2》。关于Jboss的安全性配置的基本内容也来自Jboss的资料,所以这部分的资料完全都是转贴,请不要见怪,因为在介绍更高级的应用之前必须先介绍这方面的内容。
?Java 鉴别与授权服务(JAAS)
JAAS(Java Authentication and Authorization Service)可以在Java 平台上提供用户身份鉴别。在Java 平台上,其功能是独一无二的。
Java安全设计的所有核心功能都是为了保护终端用户不受程序开发者的影响,由于终端用户为了使用开发者提供的程序,不得不满足其对本地资源的存取要求,这就要求必须保证用户不受到程序的影响。另一方面,JAAS 允许开发者根据用户提供的鉴别信任状(credential)准许(或拒绝)用户对程序的访问。
JAAS 可由 http://java.sun.com/products/jaas/下载。它包括两部分: 一部分是Java类库,其中定义了服务接口(JAAS 固有的),另一部分为平台专用的模块,其作用是实现授权(JAAS模块)。此外还可以获得模块样例,从而在JNDI 目录服务、Windows NT 登录服务和Solaris 登录服务基础上实现鉴别。
JAAS本身包括文档和一个lib 目录,其中只有一个jar 文件(jaas.jar)。可以将此jar 文件安装到$JREHOME/lib/ext中,用户也可以将它放在类路径指定的目录下。JAAS模块的lib 目录中包括另一个jar文件(jaasmod.jar),对其处理方法与jaas.jar类似。
Jboss安全性配置
J2EE定义了应用中指定安全性约束的机制,但并没有给出具体服务器是如何实现和配置认证和访问控制机制(译者注:授权)的。JBoss使用了JAAS以提供集成不同认证技术的可插入方式,供应用的认证和授权使用。同时,JBoss还提供了一套标准模块,即基于文件、数据库、LDAP的安全性机制。其中,基于文件的方式最为简单。用户可以使用现有的认证模块,或者可以开发更适合自身需求的认证模块。
Jboss安全性域信息存储在login-config.xml文件中,其包含了许多安全性域定义。各个安全性域指定了许多JAAS3登陆模块,供安全性域认证使用。当用户需要在应用中使用安全性时,需要在JBoss特定部署描述符jboss.xml或jboss-web.xml中指定待使用的安全性域名。本节将快速地带领用户分析如何保护随JBoss发布的JMX控制台和Web控制台应用。
通过JMX控制台基本上能够控制JBoss服务器的各个方面,因此保护该控制台很重要,至少需要通过密码来保护它。否则,任何远程用户将能够完全控制用户的JBoss服务器。为实现此目的,本文将安全性域添加给JMX控制台应用。通过server/default/deploy/jmx-console.war/WEB-INF/目录能够找到待修改的JMX控制台文件,即jboss-web.xml。将jboss-web.xml中security-domain的注释去掉,具体如下:
Xml代码
1.<jboss-web>
2.<security-domain>java:/jaas/jmx-console</security-domain>
3.</jboss-web>
<jboss-web><security-domain>java:/jaas/jmx-console</security-domain></jboss-web>
jaas概述以及jboss安全性配置 (转)
作者:小折腾 | 出处:博客园 | 2011/11/18 19:02:12 | 阅读25次
关于JAAS概念性的东西我就不自己写了,主要内容大部分来自Sun的官方资料《java_security2》。关于Jboss的安全性配置的基本内容也来自Jboss的资料,所以这部分的资料完全都是转贴,请不要见怪,因为在介绍更高级的应用之前必须先介绍这方面的内容。
?Java 鉴别与授权服务(JAAS)
JAAS(Java Authentication and Authorization Service)可以在Java 平台上提供用户身份鉴别。在Java 平台上,其功能是独一无二的。
Java安全设计的所有核心功能都是为了保护终端用户不受程序开发者的影响,由于终端用户为了使用开发者提供的程序,不得不满足其对本地资源的存取要求,这就要求必须保证用户不受到程序的影响。另一方面,JAAS 允许开发者根据用户提供的鉴别信任状(credential)准许(或拒绝)用户对程序的访问。
JAAS 可由 http://java.sun.com/products/jaas/下载。它包括两部分: 一部分是Java类库,其中定义了服务接口(JAAS 固有的),另一部分为平台专用的模块,其作用是实现授权(JAAS模块)。此外还可以获得模块样例,从而在JNDI 目录服务、Windows NT 登录服务和Solaris 登录服务基础上实现鉴别。
JAAS本身包括文档和一个lib 目录,其中只有一个jar 文件(jaas.jar)。可以将此jar 文件安装到$JREHOME/lib/ext中,用户也可以将它放在类路径指定的目录下。JAAS模块的lib 目录中包括另一个jar文件(jaasmod.jar),对其处理方法与jaas.jar类似。
Jboss安全性配置
J2EE定义了应用中指定安全性约束的机制,但并没有给出具体服务器是如何实现和配置认证和访问控制机制(译者注:授权)的。JBoss使用了JAAS以提供集成不同认证技术的可插入方式,供应用的认证和授权使用。同时,JBoss还提供了一套标准模块,即基于文件、数据库、LDAP的安全性机制。其中,基于文件的方式最为简单。用户可以使用现有的认证模块,或者可以开发更适合自身需求的认证模块。
Jboss安全性域信息存储在login-config.xml文件中,其包含了许多安全性域定义。各个安全性域指定了许多JAAS3登陆模块,供安全性域认证使用。当用户需要在应用中使用安全性时,需要在JBoss特定部署描述符jboss.xml或jboss-web.xml中指定待使用的安全性域名。本节将快速地带领用户分析如何保护随JBoss发布的JMX控制台和Web控制台应用。
通过JMX控制台基本上能够控制JBoss服务器的各个方面,因此保护该控制台很重要,至少需要通过密码来保护它。否则,任何远程用户将能够完全控制用户的JBoss服务器。为实现此目的,本文将安全性域添加给JMX控制台应用。通过server/default/deploy/jmx-console.war/WEB-INF/目录能够找到待修改的JMX控制台文件,即jboss-web.xml。将jboss-web.xml中security-domain的注释去掉,具体如下:
Xml代码
1.<jboss-web>
2.<security-domain>java:/jaas/jmx-console</security-domain>
3.</jboss-web>
<jboss-web><security-domain>java:/jaas/jmx-console</security-domain></jboss-web>
这将设置Web应用待使用的安全性域,但还未确定Web应用应该使用的安全性策略。待保护的URL是什么,相应的访问角色又是哪些?为配置这些内容,用户需要在同一目录中找到web.xml文件,然后将security-constraint的注释去掉。其中,该安全性约束要求登陆用户必须具有JBossAdmin角色。
Xml代码
1.<!--
2.A security constraint that restricts access to the HTML JMX console
3.to users with the role JBossAdmin. Edit the roles to what you want and
4.uncomment the WEB-INF/jboss-web.xml/security-domain element to enable
5.secured access to the HTML JMX console.
6.-->
7.<security-constraint>
8.<web-resource-collection>
9.<web-resource-name>HtmlAdaptor</web-resource-name>
10.<description>
11.An example security config that only allows users with the
12.role JBossAdmin to access the HTML JMX console web application
13.</description>
14.<url-pattern>/*</url-pattern>
15.<http-method>GET</http-method>
16.<http-method>POST</http-method>
17.</web-resource-collection>
18.<auth-constraint>
19.<role-name>JBossAdmin</role-name>
20.</auth-constraint>
21.</security-constraint>
<!--A security constraint that restricts access to the HTML JMX consoleto users with the role JBossAdmin. Edit the roles to what you want anduncomment the WEB-INF/jboss-web.xml/security-domain element to enablesecured access to the HTML JMX console.--><security-constraint><web-resource-collection><web-resource-name>HtmlAdaptor</web-resource-name><description>An example security config that only allows users with therole JBossAdmin to access the HTML JMX console web application</description><url-pattern>/*</url-pattern><http-method>GET</http-method><http-method>POST</http-method></web-resource-collection><auth-constraint><role-name>JBossAdmin</role-name></auth-constraint></security-constraint>
太好了,但是用户名和密码来自哪里呢?不错,它们来自jmx-console安全性域。通过conf/login-config.xml文件能够看到。
Xml代码
1.<!--
2.A security constraint that restricts access to the HTML JMX console
3.to users with the role JBossAdmin. Edit the roles to what you want and
4.uncomment the WEB-INF/jboss-web.xml/security-domain element to enable
5.secured access to the HTML JMX console.
6.-->
7.<security-constraint>
8.<web-resource-collection>
9.<web-resource-name>HtmlAdaptor</web-resource-name>
10.<description>
11.An example security config that only allows users with the
12.role JBossAdmin to access the HTML JMX console web application
13.</description>
14.<url-pattern>/*</url-pattern>
15.<http-method>GET</http-method>
16.<http-method>POST</http-method>
17.</web-resource-collection>
18.<auth-constraint>
19.<role-name>JBossAdmin</role-name>
20.</auth-constraint>
21.</security-constraint>
<!--A security constraint that restricts access to the HTML JMX consoleto users with the role JBossAdmin. Edit the roles to what you want anduncomment the WEB-INF/jboss-web.xml/security-domain element to enablesecured access to the HTML JMX console.--><security-constraint><web-resource-collection><web-resource-name>HtmlAdaptor</web-resource-name><description>An example security config that only allows users with therole JBossAdmin to access the HTML JMX console web application</description><url-pattern>/*</url-pattern><http-method>GET</http-method><http-method>POST</http-method></web-resource-collection><auth-constraint><role-name>JBossAdmin</role-name></auth-constraint></security-constraint>
太好了,但是用户名和密码来自哪里呢?不错,它们来自jmx-console安全性域。通过conf/login-config.xml文件能够看到。
剩余8页未读,继续阅读
资源评论
zuxianghuang
- 粉丝: 261
- 资源: 69
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功