0

我可以使用 AD 和 PHP 进行身份验证,我的问题是我不知道如何获取当前用户显示名或 cn 详细信息。来自 php.com 的此示例代码非常适合进行身份验证,但现在我需要详细信息有人帮忙吗?

// using ldap bind
$ldaprdn  = 'uname';     // ldap rdn or dn
$ldappass = 'password';  // associated password

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }

}
4

2 回答 2

0

向服务器发送搜索请求并解释响应。一个搜索请求(用 PHP 封装ldap_search)至少包含以下内容:

  • 基本对象(或某些文档中的基本 DN):搜索结果中不会考虑任何高于基本 DN 的对象
  • 搜索范围:one、、subtreebase:搜索的深度
  • 过滤器:用于过滤(缩小)结果池
  • 请求的属性:这是 LDAP 客户端应该放置cndisplayName以及处理所需的任何其他属性的位置:

也可以看看

于 2013-10-09T08:23:11.870 回答
0

在进行身份验证之前,将要进行身份验证的值存储到会话变量中。如果身份验证成功,则使用会话值来显示。

如果身份验证失败,请清除会话值并尝试再次提交登录表单。

以下是将值分配给 ZF2 中的会话变量的示例代码:

  $session = new Container('base');                     
  $this->session->offsetSet('username', $username);

并获取会话值:

  $sesUserName = $this->session->offsetGet('username'); 

我希望这有帮助。

于 2013-10-09T08:29:21.740 回答