2

可能重复:
在 php 中使用 windows 身份验证?

我构建了一个 php Intranet Web 应用程序,允许用户显示他们存储在 Active Directory 中的信息。

我的应用程序运行良好,但在用户看到他的信息之前,他必须使用他的 Windows 凭据登录。

我想使用他在登录到 Windows 时输入的 Windows 凭据通过 Active 目录对用户进行自动身份验证。

我成功地获得了使用 NTLM 女巫的当前用户的用户名,在本文中进行了描述:http: //siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/

我知道我必须使用 LDAP 从 AD 中检索用户属性。

我知道该怎么做,但问题是:

我需要当前用户密码才能在 @ldap_bind 函数中使用它。

有没有办法找回当前用户的密码???

我正在使用 Windows 7 我正在使用 Apatch 2.2、php5

先感谢您。

4

1 回答 1

2

不,您无法从 Active Directory 获取用户密码。如果可能的话,任何程序都可以获取您的密码,然后更改它。

如果您想在不询问密码的情况下查询 Active Directory,您有一些选择。

  1. 我不知道如何在 php 中执行此操作,但使用 IIS,您可以使用集成的 Windows 身份验证和委派。这很难设置。

  2. 由于您所做的只是查询,因此只需为没有任何特殊权限的网站创建一个帐户。使用此硬编码密码。

  3. 启用对 Active Directory 的匿名访问。这将允许您使用 null 作为用户名和密码。最佳实践说不要这样做。

于 2012-12-22T14:12:14.843 回答