WEB开发网
开发学院软件开发Java 在 Apache Geronimo 中限制目录访问:使用 J2EE 声... 阅读

在 Apache Geronimo 中限制目录访问:使用 J2EE 声明性安全

 2010-04-22 00:00:00 来源:WEB开发网   
核心提示: 这里有两个约束:一个用于 download 目录,另一个用于 restricted 目录,在 Apache Geronimo 中限制目录访问:使用 J2EE 声明性安全(8),downloads 目录允许 registered-users 和 administrators 访问,正如 auth-

这里有两个约束:一个用于 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> 

上一页  3 4 5 6 7 8 9 10  下一页

Tags:Apache Geronimo 限制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接