在 Apache Geronimo 中限制目录访问:使用 J2EE 声明性安全
2010-04-22 00:00:00 来源:WEB开发网这里有两个约束:一个用于 download 目录,另一个用于 restricted 目录。downloads 目录允许 registered-users 和 administrators 访问,正如 auth-constraint 标记中所定义的那样。接下来定义用来登录的表单,如 清单 9 所示。
清单 9. 指定登录表单
...
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Jetty Realm</realm-name>
<form-login-config>
<form-login-page>/verify/login.html</form-login-page>
<form-error-page>/verify/loginError.html</form-error-page>
</form-login-config>
</login-config>
</web-app>
form-login-page 标记指定登录页面,而 form-error-login 标记指定当用户名/密码组合不能通过验证时将用户重定向到的页面。
声明性 J2EE 安全:geronimo-web.xml
现在您已经设置了三个 GBeans 和领域,并且定义了您的安全角色和约束。您还需要定义角色到用户/组的映射。创建名为 geronimo-web.xml 的文件,把它放在 WEB-INF 目录下并且定义该文件,如 清单 10 所示。
清单 10. 指定角色到用户/组的映射
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.0"
xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.0"
configId="com/ibm/geronimo/security/myApp"
parentId="com/ibm/geronimo/security/myRealm">
<context-root>/security</context-root>
<context-priority-classloader>false</context-priority-classloader>
<security-realm-name>my-realm</security-realm-name>
<security>
<default-principal realm-name="my-realm">
<principal class=
"org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal"
name="nobody"/>
</default-principal>
<role-mappings>
<role role-name="registered-users">
<realm realm-name="my-realm">
<principal class=
"org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal"
name="registeredUsers" designated-run-as="true"/>
</realm>
</role>
<role role-name="administrators">
<realm realm-name="my-realm">
<principal class=
"org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal"
name="admin"/>
<principal class=
"org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal"
name="root"/>
</realm>
</role>
</role-mappings>
</security>
</web-app>
- ››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 发布
更多精彩
赞助商链接