-1

我想知道当他/她使用 PHP 登录公司网络的 Intranet 时,我从哪里获取或如何获取用户详细信息,例如用户名、ID 号和电子邮件?

我想使用这些详细信息来自动对正在开发的 Web 应用程序的用户进行身份验证。

我已阅读有关 AUTH_USER 的信息,但我在哪里或如何访问该变量?

4

1 回答 1

1

您可以通过PHP LDAP函数完成大部分您想做的事情。唯一的问题是您需要为每个用户获取一个唯一的项目。您将需要做更多的研究,但我很确定如果您使用 IIS 而不是 Apache 作为网络服务器,那么在另一端获取该人的登录名/用户名会有一些怪癖或技巧 - 你可以然后使用以下方式查询 LDAP:

<?php
// $ds is a valid link identifier for a directory server

// $person is all or part of a person's name, eg "Jo"

$dn = "o=My Company, c=US";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." entries returned\n";
?>

Apache 只会将 AUTH_USER 作为空白返回。一种解决方法是为他们的登录创建一次性请求,将其存储在 cookie 中,并使用相同的 LDAP 查询来获取有关用户的最新信息。

于 2012-08-15T06:31:43.133 回答