我有以下代码:
$bind = new COM("LDAP://CN=GroupName,OU=Groups,OU=Division,DC=company,DC=local");
当我从命令提示符执行它时,它运行良好。当它在 IIS/PHP/ISAPI 下运行时,它会报错。
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `LDAP://CN=...[cut]...,DC=local':
An operations error occurred. ' in index.php
Stack trace:
#0 index.php: com->com('LDAP://CN=...')
#1 {main} thrown
IIS 配置为 Windows 身份验证(无匿名、无基本、无摘要),我以与命令提示符相同的用户身份连接。我在 IIS 日志文件或事件日志中找不到任何特定错误。
本练习的主要目的是避免在我的脚本中保留用户凭据并依靠 IIS 身份验证将它们传递到活动目录。我知道您可以使用 LDAP 来完成同样的事情,但据我所知,无法传递凭据。
也许它在某种程度上与我尝试将其移植到 ASP 时遇到的错误有关。我收到错误 80072020(我目前正在查找)。
事件日志没有显示任何异常。没有警告,没有错误。启用了完整的安全审核(安全策略中每个项目的成功和失败),并且它显示我针对网页进行身份验证的每个用户的成功 Windows 登录(这是预期的。)