将SSL与部署在IBM-WASCE上的应用程序一起使用

时间:2009-12-06 10:08:20

标签: jsp ssl geronimo

我有一个使用JSP和Servlet并部署在IBM-WASCE 2.1上的应用程序。 我希望应用程序使用SSL进行登录。根据文档,我将以下行添加到 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

        <!-- Usual servlet mapping code -->

  <security-constraint>
        <web-resource-collection>
            <web-resource-name>Login</web-resource-name>
            <url-pattern>/login.jsp</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>

但是我收到一个错误,

  

web应用程序的web.xml   default / foo / 1.0 / car包含安全性   元素,但Geronimo部署计划   未提供或不包含    元件   配置安全性所必需的   相应

如何从这里开始?要添加到文件 geronimo-web.xml 的哪些元素?

1 个答案:

答案 0 :(得分:0)

[解决]

必须在geronimo-web.xml文件中进行以下修改。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1" xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1" xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1" xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1">
  <sys:environment>
    <sys:moduleId>
      ...
           <!-- Basic stuff -->
      ...
    </sys:moduleId>


  </sys:environment>
  <context-root>/foo</context-root>

  <security-realm-name>geronimo-admin</security-realm-name>
    <security>
        <default-principal>
            <principal name="anonymous" class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal"
            />
        </default-principal>
        <role-mappings>
            <role role-name="admin">
                <principal name="administrators" designated-run-as="true" 
                class="org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal"         
                />
                <principal name="root"
class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal"
                />
            </role>
        </role-mappings>
    </security>
</web-app>