我们正在使用我们的Web应用程序使用安全领域进行测试。在测试中,我们将对抗Microsoft Active Directory。生产将违背习惯。我在Tomcat中工作很好,但似乎无法在WebSphere中正常工作。我在WebSphere中创建了一个可以连接到AD的安全域(foo-ldap)。现在我已经将foo-ldap应用到了server1范围。在打入/ servlet/LoginServlet时,我没有被重定向到authenticate.faces。WebSphere 7.0中的应用程序的安全领域
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="(&(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>