1

对于我的应用程序,我使用应用程序级别的身份验证,对于某些用户,我想从活动目录中获取一些信息。

我已经使用为我们的活动目录创建的“外部证券”配置设置了一个 http 服务器。

我尝试按如下方式使用该功能:

let $res := xdmp:ldap-search( "(mail=abc@def.com)",  <options xmlns="xdmp:ldap">
                        <use-appserver-config>true</use-appserver-config>
                    </options> )

不幸的是,尽管它应该返回任何东西,但它并没有返回任何东西,也没有给出任何错误消息。但是,如果我像下面那样明确指定用户名、密码、ldap 服务器等,它就可以工作(好吧,对于大多数情况,如果响应不包含重音字符):

let $res := xdmp:ldap-search( "(mail=abc@def.com)"
                    ,  <options xmlns="xdmp:ldap">
                        <username>{ $config:ldap-connection-username }</username>
                        <password>{ $config:ldap-connection-password }</password>
                        <server-uri>{ $config:ldap-connection-server }</server-uri>
                        <search-base>{ $config:ldap-connection-search-base }</search-base>
                    </options>)

显然,选项 true 没有按我的预期工作。但是,它也被考虑在内,因为如果我将其设置为 false,则会返回错误。

我确信我在管理页面上将配置的 ldap 服务器的值设置为与上面工作示例中使用的值相同。

这是一个错误吗?或者,我错过了什么?

非常感谢,K。

4

1 回答 1

0

这看起来特定于在应用程序服务器上下文下的 QConsole 中运行。指定<use-appserver-config>true</use-appserver-config>导致没有调用 AD 服务器和一个空的结果序列。直接在 AppServer 下运行确实会返回预期的结果,我将为此创建一个错误报告。

于 2017-10-28T12:34:12.803 回答