2016-02-09 4 views
1

У меня есть конфигурация LDAP в server.xml в профиле Websphere Liberty следующим образом.j_security_check login.jsp не работает с профилем WebSphere Liberty

<ldapRegistry baseDN="dc=mydc,dc=myroot,dc=myorg" bindDN="cn=myname,OU=Users,OU=myou,DC=mydc,DC=myroot,DC=myorg" bindPassword="xxxx" host="mycompanyldap" id="ldap" ignoreCase="true" ldapType="Microsoft Active Directory" port="389" realm="LdapRegistry" sslEnabled="false"> 
<activedFilters groupMemberIdMap="memberof:member" /> 
<activedFilters groupMemberIdMap="memberOf:member" /> 
    </ldapRegistry> 

У меня login.jsp, который имеет этот вызов в нем ..

<form name="frmLogin" action="j_security_check" method="POST"> 
<table width="100%"> 
    <tr> 
     <td align="center"> 
      <table id="loginPanel"> 
       <thead> 
        <th id="titleRow" colspan="2">Media Inquiries</th> 
       </thead> 
       <tbody> 
        <tr id="firstRow"> 
         <td class="label">LAN ID:</td> 
         <td class="field"><input type="text" id="j_username" name="j_username" maxlength="20" style="width: 150;"></td> 
        </tr> 
        <tr> 
         <td class="label"> Password: </td> 
         <td class="field"><input type="password" id="j_password" name="j_password" maxlength="20" style="width: 150;"></td> 
        </tr> 
        <tr> 
         <td id="submitRow" colspan="2"> 
          <input type="submit" id="btnSubmit" value="Logon" onclick="return submitPage()">      
         </td> 
        </tr> 
       </tbody> 
      </table> 
     </td> 
    </tr> 
</table> 

У меня есть следующий определенный в моей web.xml

<!-- ========== Begin Authentication ========== --> 
<security-constraint> 
    <display-name>All Users Constraint</display-name> 
    <web-resource-collection> 
     <web-resource-name>Protected Pages</web-resource-name> 
     <url-pattern>*.htm</url-pattern> 
     <http-method>GET</http-method> 
     <http-method>POST</http-method> 
    </web-resource-collection> 
    <auth-constraint> 
     <description>All Users Authorization Constraint</description> 
     <role-name>All Users</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>FORM</auth-method> 
    <realm-name>LdapRegistry</realm-name> 
    <form-login-config> 
     <form-login-page>/login.jsp</form-login-page> 
     <form-error-page>/login.jsp?loginFailed=true</form-error-page> 
    </form-login-config> 
</login-config> 
<security-role> 
    <role-name>All Users</role-name> 
</security-role> 
<!-- ========== End Authentication ========== --> 

<!-- Declare Spring Security filter --> 
<!-- Add a DelegatingFilterProxy --> 
<filter> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

<!-- Add a springSecurityFilterChain mapping --> 
<filter-mapping> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <url-pattern>*.htm</url-pattern> 
</filter-mapping> 

Когда Я делаю логин, используя регистрационную форму, ничего не происходит на лицевой стороне. Я проверяю журналы, и есть это сообщение.

[2/9/16 11:42:27:593 CST] 00000054 com.ibm.ws.logging.internal.impl.IncidentImpl    I FFDC1015I: An FFDC Incident has been created: "com.ibm.ws.security.registry.RegistryException: CWIML0515E: The user registry operation could not be completed. The CN=myname,OU=Users,OU=myou,DC=mydc,DC=myroot,DC=myorg entity is not in the scope of the defined realm. Specify an entity that is in the scope of the configured realm in the server.xml file. com.ibm.ws.security.authentication.jaas.modules.UsernameAndPasswordLoginModule 93" at ffdc_16.02.09_11.42.27.0.log 

WebSphere документация показывает, что это .. что точное сообщение, которое я получил, но я не ясно, что мне нужно сделать, чтобы исправить мою server.xml.

http://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.messages.doc/com.ibm.ws.wim.util.resources.WimUtilMessages.html

CWIML0515E: The user registry operation could not be completed. The {0} entity is not in the scope of the {1} realm. Specify an entity that is in the scope of the configured realm in the server.xml file. 
**Explanation** The operation cannot be performed because the specified entity is not in the scope of the realm. 

**Action** Ensure that the unique name of the entity is specified correctly. If a realm name is specified in the Context object of the input object, ensure that the name is spelt correctly. 

Может кто-то пожалуйста, помогите, как к тому, что мне нужно сделать, чтобы правильно есть мой LDAP работать с моим логином. Что мне нужно изменить в моем server.xml?

Благодаря Dhiren

ответ

0

Вот решение. Это необходимо добавить либо в веб-приложение, либо в ухо. Обратите внимание, что область ldap должна быть установлена ​​LdapRealm.

<application-bnd> 
<security-role name="All Users"> 
       <special-subject id="group:LdapRegistry/cn=yourCN,OU=Users,OU=,DC=,DC=,DC=" type="ALL_AUTHENTICATED_USERS"/> 

       <special-subject id="user:LdapRegistry/cn=yourCN,OU=Users,OU=,DC=,DC=,DC=" type="ALL_AUTHENTICATED_USERS"/> 
</security-role> 

</application-bnd> 

Как только вы установите это. война и ухо могут связываться с LDAP

Смежные вопросы