WebSphere 7.0中的应用程序的安全领域

时间:2010-10-21 16:22:39

标签: security websphere jndi

我们正在使用我们的Web应用程序使用安全领域进行测试。在测试中,我们将针对Microsoft Active Directory。生产将违背自定义领域。我在Tomcat中工作得很好,但似乎无法在WebSphere中使用它。我在WebSphere中创建了一个可以连接到AD的安全域(foo-ldap)。现在我已经将foo-ldap应用于server1范围。在点击/ servlet / LoginServlet时,我没有被重定向到authenticate.faces。

下面包含Web.xml和Tomcat配置。

Tomcat配置:

    <Realm className="org.apache.catalina.realm.JNDIRealm"
        connectionURL="ldap://ActiveDirectorySrv:389"
        connectionName="CN=ldap user,CN=Users,DC=foo,DC=com"
        connectionPassword="Password1"
        referrals="follow"
        userBase="CN=Users,DC=foo,DC=com"
        userSearch="(&amp;(objectCategory=user)(sAMAccountName={0}))"
        userSubtree="true"
        userRoleName="memberOf"
        roleBase="CN=Users,DC=foo,DC=com"  
        roleSubtree="true"  
        roleName="cn"  
        roleSearch="(member={0})"/>

Web.xml中

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Protected Area</web-resource-name>
            <url-pattern>/servlet/LoginServlet</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>Developers</role-name>
        </auth-constraint>
    </security-constraint>

    <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
            <form-login-page>/authenticate.faces</form-login-page>
            <form-error-page>/loginFailed.faces</form-error-page>
        </form-login-config>
    </login-config>

    <security-role>
        <role-name>Developers</role-name>
    </security-role>

1 个答案:

答案 0 :(得分:1)

我遇到的问题有两个。

  1. 安全上下文的配置存在于web.xml中。它必须在应用程序安装时出现已安装的战争。我们已将配置注释掉,因此开发人员在调试时不需要提供凭据,而且在部署战争后我试图取消注释。

  2. 您必须在安装时将角色映射到安全领域。我们有一个部署应用程序的脚本,没有修改,没有映射角色,并且安装后映射角色的功能不可用。即使从ibm控制台站点安装,您也必须在安装时选择详细的安装和地图组,否则无法使用地图链接。

  3. 安装完安全性并重定向到登录页面后,我们遇到了另一个问题。我不确定这是否是我们的JSF代码的问题,但我无法重定向到在WebSphere中使用JSF的页面(与Tomcat一起正常工作)。我们的解决方案是只使用jsp页面进行身份验证页面。

    希望这有助于其他人。