MarkLogic LDAP身份验证

时间:2017-12-17 17:28:22

标签: authentication ldap marklogic marklogic-9

我在MacOS上运行ML9。我正在尝试在查询控制台上设置外部身份验证(和最终授权)(在App-Server端口8000上)。

我有: 1.创建了一些用户的OpenLDAP服务器 2.使用以下详细信息创建LDAP配置:

Name: ExtLDAP
authentication: ldap
authorization: internal
ldap server uri: ldap://localhost:389
ldap base: dc=babji,dc=com
ldap attribute: cn
ldap default user: cn=Manager,dc=babji,dc=com
ldap password: [password of the above default user in OpenLDAP database]
ldap bind method: simple
ldap memberof attribute: ou
ldap memer attribute: ou
ssl require client certificate: false
  1. 更新了Query Console应用服务[端口8000],其中包含以下详细信息:

    身份验证:基本     内部安全:错误     外部证券:ExtLDAP     默认用户:nobody

  2. 创建了一个内部用户,其中包含以下详细信息:

  3. name:ldapuser 外部名称:cn =较新的姓氏,ou = BizUser,dc = babji,dc = com

    1. 测试如下:成功

      xdmp:LDAP搜索(   “SN =姓”,    options xmlns =“xdmp:ldap”>   用户名> CN =管理器中,DC = babji,DC = COM   密码> XXXX   服务器-URI> LDAP://本地主机:389   搜索碱基> OU = BiZUser,DC = babji,DC = COM   压圈方法>简单  /选项>) (原谅上面的格式。我无法将其更改为代码格式。)

    2. ldapsearch也有效:

      ldapsearch -D "cn=manager,dc=babji,dc=com" -b dc=babji,dc=com -W objectclass=*
      

      问题:

      当我尝试使用浏览器使用LDAP数据库中的某个cn条目(用户)登录查询控制台时,我无法登录。 此外,在命令下方不起作用

      xdmp:http-get("http://localhost:8000",
           <options xmlns="xdmp:http">
             <authentication>
               <username>Newer Surname</username>
               <password>xxxx</password>
             </authentication>
           </options>)
      

      我不确定应该在配置页面中放置哪些配置。你能帮我或者把我带到正确的位置吗?

      的问候, 巴拉德瓦

1 个答案:

答案 0 :(得分:0)

涉及3个部分:

  1. Auth设置为基本或应用程序
  2. 内部安全为假
  3. 使用创建的外部安全对象(作为外部安全服务的桥梁)
  4. 创建外部安全对象后,您是否记得回到应用服务器配置并实际配置它以使用安全对象?

    另外,您没有提及日志文件。如何从那里发布错误(如果有的话)。

    我建议的步骤让您返回并验证:

    请看本章:
    https://docs.marklogic.com/8.0/guide/security/external-auth#id_81861

    然后进入外部安全对象配置部分: https://docs.marklogic.com/8.0/guide/security/external-auth#id_35317

    最后,使用该对象的app服务器的实际配置(听起来你已经完成了1/2):
    https://docs.marklogic.com/8.0/guide/security/external-auth#id_63262