0

我想使用 ApacheDS LDAP 对用户进行身份验证,然后将其与我的 worklight 服务器(自由配置文件)集成。为此,我在 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>

在 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>

Worklight 服务器控制台停止工作。遵循来自 ibm 站点和支持中心的 LDAP 登录模块,用于配置到自由配置文件。请帮助

4

2 回答 2

0

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

  1. 微软活动目录
  2. 风俗
  3. IBM Lotus Domino Novell eDirectory
  4. IBM Tivoli 目录服务器
  5. Sun Java System 目录服务器
  6. 网景目录服务器
  7. 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>
于 2013-05-22T14:14:01.590 回答
0

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

于 2013-05-21T05:38:03.450 回答