在 Apache Geronimo 中限制目录访问:使用 J2EE 声明性安全
2010-04-22 00:00:00 来源:WEB开发网最后一个 GBean (my-login) 指定登录配置属性。controlFlag 指定为了验证成功,必须返回一个有效结果。这个 GBean 通过 LoginModule 指针链接到 清单 4 中的第一个 GBean(名称相同)。
接下来,在 web.xml 文件中配置安全。
声明性 J2EE 安全:web.xml
现在已经设置了 GBeans,您还需要把它们与您的应用程序绑定。创建名为 web.xml 的文件,并把它放在 WEB-INF 目录下,开始定义该文件,如 清单 7 所示。
清单 7. 指定安全角色
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<security-role>
<role-name>registered-users</role-name>
</security-role>
<security-role>
<role-name>administrators</role-name>
</security-role>
...
这将通过指定 XML 名称空间来设置 web.xml 文件。然而,以粗体显示的安全角色是这里讨论的重点。您的应用程序中有两个角色:registered-users 和 administrators。随后在 geronimo-web.xml 文件中指定了每个角色中的用户。接下来,定义目录安全约束,如 清单 8 所示。
清单 8. 指定安全约束
...
<role-name>administrators</role-name>
</security-role>
<security-constraint>
<web-resource-collection>
<web-resource-name>Registered Users</web-resource-name>
<url-pattern>/downloads/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>registered-users</role-name>
<role-name>administrators</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Administrators Only!</web-resource-name>
<url-pattern>/restricted/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>administrators</role-name>
</auth-constraint>
</security-constraint>
...
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››apache rewrite将指定URL转向指定的几个服务器
- ››apache配置文件httpd.comf部分参数说明
- ››Apache+Mysql+PHP+phpMyAdmin+Mac OS X 10.7 Lion...
- ››apache+tomcat负载均衡_项目实例
- ››apache mysql php 源码编译使用
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
- ››Apache2.2与Tomcat6整合及虚拟主机配置
- ››Apache+php+mysql在windows下的安装与配置图解
- ››Apache+Subversion完美结合,CentOS下实现版本控制...
- ››Apache HTTPServer2.2.16 发布
更多精彩
赞助商链接