<?php

    $user = 'aaaa';
$password = 'xxxx'; $domain = 'b.a.com'; //设定域名
$port = 3268;
$basedn = 'dc=b,dc=a,dc=com'; //如果域名为“b.a.com”,则此处为“dc=b,dc=a,dc=com”
$filter = "(SAMAccountName=aaaa)";
$attr = array("thumbnailphoto"); $conn = ldap_connect ( $domain,$port ) or die ( 'Could not connect to LDAP server.' ); $bind = @ldap_bind ( $conn, "{$user}@{$domain}", $password ) or die ( 'Authorization failed! Please check your username or password!' ); if( $bind )
{
$result = @ldap_search( $conn, $basedn, $filter, $attr);
// retrieve all the entries from the search result
$info = ldap_get_entries( $conn, $result ); $entry = ldap_first_entry($conn,$result);
}
else
{
echo 'error<br>';
echo ldap_error( $conn );
exit;
}
#print_r($info); if( $info)
{
$values = @ldap_get_values_len($conn, $entry, "thumbnailPhoto"); echo '<img src="'.data_uri($values[0], 'image/png').'">'; if(!$values) { echo "no thumbnail photo<br>";
} // Add the user’s department name and email address
// to the session
echo $info[0]['thumbnailPhoto'][0]; foreach($info as $k => $v)
{
echo $v['cn'][0]."<br>" ;
echo $v['displayname'][0]."<br>" ;
echo $v['mail'][0]."<br>" ;
echo $v['department'][0]."<br>" ;
echo $v['company'][0]."<br>" ;
echo $v['streetaddress'][0]."<br>" ;
echo $v['countryCode'][0]."<br>" ;
echo $v['userPrincipalName'][0]."<br>" ;
echo $v['manager'][0]."<br>" ;
echo $v['sn'][0]."<br>" ;
echo $v['pwdLastSet'][0]."<br>" ;
echo $v['postalCode'][0]."<br>" ;
echo $v['title'][0]."<br>" ;
echo $v['thumbnailPhoto'][0]."<br>" ;
echo $v['location'][0]."<br>" ;
} }
else
{
echo ldap_error($conn);
exit;
} // close connection to ldap server
$ldap_close( $conn ); function data_uri($file, $mime) {
$base64 = base64_encode($file);
return ('data:' . $mime . ';base64,' . $base64);
}
?>

PHP ADLogin的更多相关文章

  1. 7天学会HTML--HTML综述

    一周学会HTML 1.HTML是什么? HTML 指的是超文本标记语言 (Hyper Text Markup Language) 2.HTML发展历程 HTML版本从1.0到4.0不断升级,其版本的规 ...

  2. Ext sqlserver C# 数据库备份还原代码,给大家参考下

      <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %& ...

  3. JAVA使用Ldap操作AD域

    项目上遇到的需要在集成 操作域用户的信息的功能,第一次接触ad域,因为不了解而且网上其他介绍不明确,比较费时,这里记录下. 说明: (1). 特别注意:Java操作查询域用户信息获取到的数据和域管理员 ...

  4. Web购物车案例(servlet+bean+jsp)

    一些B话 事情来得太突然,一个朋友说是要我帮忙做一个JavaWeb的课程设计,在过一天就要去答辩了- 这我哪受的了时间这么短还没有~~~,正准备委婉的拒绝的时候他说写完之后给我那个啥- 好吧,我就是这 ...

随机推荐

  1. matlab生成HEX文件-任意信号 大于64K长度

    HEX文件格式不赘述,写里直接放上代码.请批评改正. %%convert a signal data into hex file format % data format:16bit % signal ...

  2. 【问题&解决】解决 Android SDK下载和更新失败“Connection to https://dl-ssl.google.com refused”的问题

    缘由: 更新sdk,遇到了更新下载失败问题: Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xmlFetche ...

  3. 对Spring的IoC和DI最生动的解释

    首先想说说IoC(Inversion of Control,控制倒转).这是spring的核心,贯穿始终.所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系 ...

  4. AC日记——斗地主(dfs)

    题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4< ...

  5. Android service ( 二) 远程服务

    通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递对象,你可以通过应用程序UI的方式写个运行在一个不同的进程中的service.在android平台中,一个进程通常不能访问其他进程中的内存 ...

  6. WebApi 返回小驼峰式 json 格式,并格式化日期

    from:http://blog.csdn.net/magiccops/article/details/42969363 屏蔽默认返回xml格式:Global文件加:GlobalConfigurati ...

  7. [转]iOS 应用内付费(IAP)开发步骤

    FROM : http://blog.csdn.net/xiaoxiangzhu660810/article/details/17434907 参考文章链接: (1)http://mobile.51c ...

  8. 为什么需要DTO(数据传输对象)

    DTO即数据传输对象.之前不明白有些框架中为什么要专门定义DTO来绑定表现层中的数据,为什么不能直接用实体模型呢,有了DTO同时还要维护DTO与Model之间的映射关系,多麻烦. 然后看了这篇文章中的 ...

  9. Linux 基础入门(新版)”实验报告一~十二

    实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...

  10. linux下gcc编译多个源文件、gdb的使用方法

    一. gcc常用编译命令选项 假设源程序文件名为test.c. 1. 无选项编译链接 用法:#gcc test.c 作用:将test.c预处理.汇编.编译并链接形成可执行文件.这里未指定输出文件,默认 ...