使用Ldap进行worklight服务器身份验证

使用Ldap进行worklight服务器身份验证,ldap,ibm-mobilefirst,Ldap,Ibm Mobilefirst,我想使用ApacheDS LDAP对用户进行身份验证,然后将其与我的worklight server(liberty配置文件)集成。 为此,我在http端点元素之后使用以下代码修改了server.xml <ldapRegistry id=”ldap” > realm=”LdapRegistry” host=”localhost” port=”10389” ignoreCase=”true” baseDN=”dc=partition1,dc=com”

我想使用ApacheDS LDAP对用户进行身份验证,然后将其与我的worklight server(liberty配置文件)集成。 为此,我在http端点元素之后使用以下代码修改了server.xml

   <ldapRegistry id=”ldap” >
   realm=”LdapRegistry” 
   host=”localhost” 
  port=”10389” 
  ignoreCase=”true”
  baseDN=”dc=partition1,dc=com”
  bindDN=”uid=admin,ou=system”
  userFilter=”(&(uid=%v)(objectclass=inetOrgPerson))”
  bindPassword=”secret”
  ldapType="ApacheDS 2.0.0"
  </ldapRegistry>

realm=“LdapRegistry”
host=“localhost”
port=“10389”
ignoreCase=“true”
baseDN=“dc=partition1,dc=com”
bindDN=“uid=admin,ou=system”
userFilter=“(&(uid=%v)(objectclass=inetOrgPerson))”
bindPassword=“secret”
ldapType=“ApacheDS 2.0.0”
在authenticationconfig.xml中

        "<securityTests>
    <customSecurityTest name="LDAPSecurityTest">
        <test isInternalUserID="true" realm="LDAPRealm"/>
    </customSecurityTest>

    <customSecurityTest name="LDAPSecurityTestForWLConsole">
        <test isInternalUserID="true" realm="WorklightConsole"/>
    </customSecurityTest>
</securityTests>

<realms>
    <realm loginModule="LDAPLoginModule" name="LDAPRealm">
          <className>com.worklight.UsernamePasswordJSONAuthenticator</className>
    </realm>

    <realm loginModule="StrongDummy" name="SampleAppRealm">
        <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
    </realm>

    <realm loginModule="LDAPLoginModule" name="WorklightConsole">
        <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
        <onLoginUrl>/console</onLoginUrl>
    </realm>
</realms>

<loginModules>
    <loginModule name="LDAPLoginModule">
        <className>com.worklight.LDAPLoginModule</className>
        <parameter name="ldapHost" value="ldap://localhost:10389"/>
        <parameter name="ldapDomain" value="localhost:10389"/>
        <parameter name="searchBase" value="dc=partition1,dc=com"/>

        <!-- 
            In case credentials are successfully validated check user's memberOf property for this string.
            Can be used to check whether user belongs to specific LDAP unit or group.
            Leave value empty to skip this check.
          -->


    </loginModule>

    <loginModule name="StrongDummy">
         <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
    </loginModule>

    <loginModule name="requireLogin">
<className>com.worklight.core.auth.ext.SingleIdentityLoginModule</className>
    </loginModule>
</loginModules>
  </tns:loginConfiguration>
”
com.worklight.UsernamePasswordJSONAuthenticator
com.worklight.core.auth.ext.FormBasedAuthenticator
com.worklight.core.auth.ext.FormBasedAuthenticator
/控制台
com.worklight.LDAPLoginModule
com.worklight.core.auth.ext.NonValidatingLoginModule
com.worklight.core.auth.ext.SingleIdentityLoginModule
worklight服务器控制台停止工作。 以下是ibm站点和支持中心的LDAP登录模块,用于配置liberty配置文件。
请帮忙

我注意到您的LDAP配置使用了两种不同类型的引号-“和”。这可能是原因吗?试着将它们全部更改为“

第一点:我认为LDAP类型“ApacheDS 2.0.0”是不正确的。
支持的类型包括:

  • Microsoft Active Directory
  • 习俗
  • IBM Lotus Domino Novell eDirectory
  • IBM Tivoli目录服务器
  • Sun Java系统目录服务器
  • Netscape目录服务器
  • IBM SecureWay目录服务器
  • 所以一定要使用习惯

    第二点:您必须添加
    userIdMap=“*:uid”

    因此,请尝试:

     <ldapRegistry id=”ldap” >
      realm=”LdapRegistry” 
      host=”localhost” 
      port=”10389” 
      ignoreCase=”true”
      baseDN=”dc=partition1,dc=com”
      bindDN=”uid=admin,ou=system”
      userFilter=”(&amp;(uid=%v)(objectclass=inetOrgPerson))”
      userIdMap="*:uid"
      bindPassword=”secret”
      ldapType="Custom"
     </ldapRegistry>
    
    
    realm=“LdapRegistry”
    host=“localhost”
    port=“10389”
    ignoreCase=“true”
    baseDN=“dc=partition1,dc=com”
    bindDN=“uid=admin,ou=system”
    userFilter=“(&;(uid=%v)(objectclass=inetOrgPerson))”
    userIdMap=“*:uid”
    bindPassword=“secret”
    ldapType=“自定义”
    
    是的,我检查了日志,它说我的用户筛选行有问题,我尝试将该行更改为