我們正在使用我們的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>