Liberty Profile上的MobileFirst Server - LDAP身份验证

时间:2015-04-30 19:59:21

标签: ldap ibm-mobilefirst websphere-liberty

我希望能够使用来自LDAP存储库的帐户在LibertyFirst v6.3服务器上登录mobilefirst控制台。

我已使用以下LDAP注册表和LTPA配置编辑了我的server.xml:

    <ldapRegistry id="AD_Example" realm="WASLTPARealm"
              host="example.com" port="389" ignoreCase="true"
              baseDN="dc=example,dc=com,dc=ar"
              bindDN="cn=binduser,cn=Users,dc=example,dc=com,dc=ar"
              bindPassword="ThisIsAnExample"
              ldapType="Microsoft Active Directory">

      <activedFilters userFilter="sAMAccountName=%v"
                       userIdMap="user:sAMAccountName">
      </activedFilters>

      <group name="worklightadmingroup">
          <member name="user1"/>
      </group>
      <group name="worklightdeployergroup">
          <member name="user1"/>
      </group>
      <group name="worklightmonitorgroup"/>
      <group name="worklightoperator"/>

</ldapRegistry>

<ltpa keysFileName="ltpa.keys" keysPassword="WebAS" expiration="120"/>

我从以下地方获取了一些信息:

但我似乎无法让这种情况发生。还有一个DataPower集成场景,但我需要先测试LDAP连接,我认为这可能是最好的方法。有什么建议吗?

编辑:Here您可以查看完整日志(控制台,消息和ffdc)。有一个“LDAPConnection”例外,但我无法理解它给我的信息。

2 个答案:

答案 0 :(得分:0)

我已成功使用LDAP注册表中的用户登录到worklightconsole(在我的情况下是OpenLDAP,而不是Microsoft Active Directory)。我觉得奇怪的是你指定<ldapRegistry>个孩子,不应该在LDAP注册表中定义你的组(而不是在server.xml中)?

然后您可以使用 activedFilters

<activedFilters
    userFilter="(&(sAMAccountName=%v)(objectcategory=user))"
    groupFilter="(&amp;(cn=%v)(objectcategory=group))" 
    userIdMap="user:sAMAccountName" 
    groupIdMap="*:cn" 
    groupMemberIdMap="memberOf:member" >
</activedFilters>

在示例there中给出(Microsoft Active Directory服务器上有一部分,当然您必须适应您的情况)。

另外根据此doc(在功能配置元素中单击ldapRegistry;您将拥有可以使用的所有属性和子节点),<ldapRegistry>似乎不一样拥有<group>孩子。

答案 1 :(得分:0)

发出以下LDAP异常:javax.naming.AuthenticationException:[LDAP:错误代码49 - 80090308:LdapErr:DSID-0C0903A9,注释:AcceptSecurityContext错误,数据775,v1db1

data 775表示您的用户帐户(apmovil1)已被锁定。您必须要求LDAP管理员解锁您的用户,然后在server.xml文件中使用正确的密码,因为很可能由于密码错误的连接尝试次数过多而被锁定。