`
liyf_324
  • 浏览: 35206 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

PHP 访问LDAP

    博客分类:
  • PHP
阅读更多

 

 

/**
 * @file ldap_util.php
 *
 * @author Li Yongfeng
 */

function getUserEmail($userId) {
    $ldap_host = "ldap://***/"; 
    $ldap_user = "***";
    $ldap_pwd = "***";
    $ldap_conn = ldap_connect($ldap_host) or die("Can't connect to LDAP server");
    ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);        //this is necessary
    ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3); //this is necessary
    ldap_bind($ldap_conn, $ldap_user, base64_decode($ldap_pwd)) or die("Can't bind to LDAP server.");

    $base_dn = "DC=corpusers,DC=net";
    $filter = "(samaccountname=$userId)";
    $justthese = array("name","mail");
    //$result= ldap_search($ldap_conn, $base_dn, $filter) or exit(">>Unable to search ldap server<<");
    $result= ldap_search($ldap_conn, $base_dn, $filter, $justthese) or exit(">>Unable to search ldap server<<");
    if (!$result) {
        echo "LDAP-Errno: " . ldap_errno($ldap_conn) . "<br />\n";
        echo "LDAP-Error: " . ldap_error($ldap_conn) . "<br />\n";
        die("Argh!<br />\n");
    }
    $entry= ldap_get_entries($ldap_conn, $result);
    ldap_unbind($ldap_conn) or die("Can't unbind from LDAP server.");
    $ret = new stdClass();
    if ($entry['count'] > 0) {
        $ret->name = $entry[0]['name'][0];
        $ret->mail = $entry[0]['mail'][0];
    }
    //error_log(json_encode($ret));
    return $ret;
    
}

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    php_ldap.dll集合

    而LDAP(Lightweight Directory Access Protocol)是一种应用层协议,用于访问和管理分布式目录服务,如用户账户信息、组织结构数据等。 `php_ldap.dll`是PHP与LDAP进行交互的一个动态链接库文件。在Windows操作...

    php_ldap.dll

    在PHP环境中,这个DLL文件是实现目录服务访问的关键组件,使得开发人员能够利用LDAP协议进行用户认证、数据查询和其他目录服务操作。 LDAP是一种开放标准的网络协议,用于在分布式环境中存储和检索目录信息。它允许...

    php高级应用.pdf

    第1章_不同数据库的差异.pdf 第2章_PEAR与PEAR的介绍.pdf 第3章_ADODB的应用.pdf 第4章_FPDF类库应用.pdf ...第7章_SMARTY类库.pdf ...第11章_PHP访问LDAP.pdf 第12章_PHP与邮件系统.pdf 第13章_PHP加速器.pdf

    ldap-example.zip_ldap_php directory_php ldap_zip

    标题中的"ldap-example.zip_ldap_php directory_php ldap_zip"表明这是一个与LDAP(轻量级目录访问协议)相关的示例,使用PHP语言实现,并且涉及到目录服务。PHP LDAP库通常用于连接到LDAP服务器,进行用户身份验证...

    php高级应用 java技术

    "第11章_PHP访问LDAP.pdf"介绍了PHP如何与Lightweight Directory Access Protocol(LDAP)交互。LDAP常用于存储和检索用户账户、权限等信息,PHP的ldap扩展可以帮助开发者进行身份验证、目录搜索等功能。 至于Java...

    [原创] CentOS7 下 OpenLDAP Server 安装和配置及使用 phpLDAPadmin 和 Java LDAP 访问 LDAP Server

    sudo yum install php php-ldap php-mbstring -y ``` 2. 下载并解压phpLDAPadmin: ```shell wget https://sourceforge.net/projects/phpldapadmin/files/phpLDAPadmin/1.2.3/phpLDAPadmin-1.2.3.tgz tar xzf ...

    deb_php.3.1_ldap_php_

    标题中的"deb_php.3.1_ldap_php_"暗示了我们正在处理一个与Debian相关的PHP软件包,其中集成了LDAP(轻量级目录访问协议)支持。这个版本是3.1,可能指的是PHP LDAP扩展或者一个基于PHP的LDAP应用程序。描述中的"php...

    deb_php.3.0_ldap_php_

    标题“deb_php.3.0_ldap_php_”暗示了一个基于PHP的LDAP(轻量级目录访问协议)应用,可能是版本3.0的更新或升级。这个应用可能是一个电话簿系统,正如描述“php ldap phonebook v3.0 test”所示,它用于存储和管理...

    Laravel开发-laravel-ldap

    1. **基于文件的访问控制列表(Access Control Lists, ACL)**: Laravel-LDAP 提供了一种机制,允许开发者通过简单的文件配置来管理用户的权限。这使得在 LDAP 环境中实现角色和权限管理变得更加容易。 2. **快速身份...

    php网络开发完全手册

    第1章 PHP的介绍及环境搭建 2 1.1 PHP简介 2 1.1.1 PHP语言的发展简史 2 1.1.2 PHP的发展现状与未来展望 3 1.1.3 PHP语言的优势 3 1.1.4 相关资源及自学提示 4 1.2 PHP的应用范围及案例 5 1.2.1 PHP可以做什么 5 ...

    Laravel开发-laravel5-ldap

    在本文中,我们将深入探讨如何在Laravel 5框架中集成和使用LDAP(轻量级目录访问协议)进行用户身份验证,特别是在与Active Directory(AD)环境交互时。Laravel是一个流行的PHP框架,它提供了优雅的工具来构建高...

    ldap.zip_ldap

    **LDAP(Lightweight Directory Access Protocol)轻量级目录访问协议** LDAP是一种用于访问和管理分布式目录服务的标准协议,常用于企业环境中存储用户账户、组、联系人等信息。它的设计目标是提供轻量级的目录...

    deb_php.3.3_ldap_源码

    总的来说,"deb_php.3.3_ldap_源码"是一个关于使用PHP 3.3与LDAP集成的实例,通过学习这个源代码,开发者可以掌握如何在PHP中实现对LDAP目录服务的高效、安全访问,这对于构建企业级的身份管理和信息检索系统至关...

    Laravel开发-ldap

    当我们谈论"Laravel开发-ldap"时,这意味着我们要探讨如何在Laravel项目中集成和使用LDAP(轻量级目录访问协议)进行身份验证和其他相关操作。 LDAP是一种用于存储和检索用户信息的标准协议,常用于大型组织或企业...

    deb_php.4.0_ldap_

    标题“deb_php.4.0_ldap_”表明这是一个与PHP相关的软件包,特别是与LDAP(轻量级目录访问协议)集成的版本4.0。在这个场景中,“deb”通常代表Debian或Ubuntu Linux系统中的.deb软件包格式,用于安装和管理软件。这...

    ldap提示object class violation

    在LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)的使用过程中,有时会遇到一个常见的错误提示:“object class violation”。这一错误提示通常出现在尝试对LDAP目录进行修改操作时,如添加、...

    搭建ldap必备软件

    **LDAP(轻量目录访问协议)**是一种开放标准的网络协议,用于管理和查询分布式目录服务。在IT领域,LDAP常用于存储用户账户信息、组织结构数据等,为各种应用程序提供集中式的身份验证和授权服务。要搭建一个LDAP...

    Ldap-Core:PHP本地ldap函数的对象封装

    Ldap核心 PHP本地ldap函数的面向对象实现关于这个小型库提供了一个不错的,面向对象的实现,可以访问ldap函数。 它的目的不是为ldap交互提供花哨的额外功能,而只是以对OOP世界有意义的方式提供围绕本机PHP函数的...

    LDAP技术,LDAP学习大全

    ##### 第二节 访问LDAP数据的API-JNDI JNDI是一个广泛使用的API,用于在Java应用程序中访问命名和目录服务。它提供了以下特点: - **抽象接口**:JNDI提供了一组抽象接口,使得开发者可以使用相同的代码来访问...

Global site tag (gtag.js) - Google Analytics