<?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. uva 122 trees on the level——yhx

    题目如下:Given a sequence of binary trees, you are to write a program that prints a level-order traversa ...

  2. jemter的使用(二)

    在上篇文章中介绍了如何在jmeter中添加请求,并执行查看结果,下面介绍一下,在运行时需要用到的一些管理器 一.HTTP信息头管理器 1.添加信息头管理器 2.添加变量和值,如:Content-Typ ...

  3. 如何对ZBrush中面部进行快速布线

    面部布线的最重要目的是为了表情动画.人物内心的各种不同的心里活动,主要是通过面部表情反映出来.而面部变化最丰富的地方是眼部(眉毛)和口 部,其他部位则相应的会受这两部分的影响而变化.对于面部表情,必须 ...

  4. 合工大 OJ 1332 蛇形阵

    Description 蛇形针回字阵: 如3*3: 回字阵: 7 6 5 8 1 4 9 2 3 Input 多组数据: 每一行一个正整数n(n为奇数,<26),代表n*n矩阵. Output ...

  5. leetcode-Maximum Subarray

    https://leetcode.com/problems/maximum-subarray/ Find the contiguous subarray within an array (contai ...

  6. Doxygen Tool For Unity

    一.准备阶段 在之前的一系列文章中,我尝试了不同方法为Unity的C#生成脚本手册(帮助文档) 使用Doxygen生成C#帮助文档 为Unity项目生成文档(一)为Unity项目生成文档(二) 建议的 ...

  7. VS 扩展推荐

    Visual Studio 工欲善其事,必先利器.本着这样的观念,对于经常使用的工具,我喜欢去研究研究,帮助我提高效率. Visual Studio Microsoft Visual Studio(简 ...

  8. win10自动更新彻底关闭

    http://app.techweb.com.cn/wp/2016-10-24/2418646.shtml

  9. Android 画布绘图

    我们已经介绍了Canvas,在那里,已经学习了如何创建自己的View.在第7章中也使用了Canvas来为MapView标注覆盖. 画布(Canvas)是图形编程中一个很普通的概念,通常由三个基本的绘图 ...

  10. customized English word breaker for sql server 2008

    Open the Registry Editor, by: Clicking Start, and clicking Run. In the Run dialog box, in the Open b ...