<?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. 【OpenCV】全景拼接

    从OpenCV3.0正式版开始,features2d中的一些接口,搬到附加库xfeatures2d中了,其中就有SIFT.SURF的特征检测方法,但是正常下载安装OpenCV并不包含附加库,因为附加库 ...

  2. 边工作边刷题:70天一遍leetcode: day 82-1

    Closest Binary Search Tree Value II 要点:通过iterator,把closest值附近的k个closest找到,从而time降为O(klgn) in order i ...

  3. 边工作边刷题:70天一遍leetcode: day 85-4

    Walls and Gates 要点: 同样是bfs,这题可以用渲染的方法(即全部gate进初始q),注意区别Shortest Distance from All Buildings.那道题要找到某个 ...

  4. 新手须知 C、C++和VC++之间的区别

    本文目地 本文介绍的是C.C++.VC++ 三者之间的区别,也许作为初学者来说,会很容易混淆.希望通过本文的介绍,能够给你带来帮助. C语言 C语言是一种古老而又经久不衰的计算机程序设计语言,大约诞生 ...

  5. AutoIT 实现Firefox下载

    Firefox下载的完整代码: Func IsVisible($handle) ;WinGetState: 2 = Window is visible If BitAND(WinGetState($h ...

  6. java 10-4 Scanner方法

    Scanner:用于接收键盘录入数据  常用的两个方法(int举例): public int nextInt():获取一个int类型的值 public String nextLine():获取一个St ...

  7. vim自动添加注释

    我想了下,要做好一件事, 1,首先喜欢它最才有动机去了解它 2,道听途说about那东西的,会去了解并去玩转 3,兴趣需要培养 一 添加vim头部信息. 系统:C67 追加以下代码到 /etc/vim ...

  8. LUA __call

    1. ev={} . functin ev.__call() . print "called from ev" . end . . setmetatable(ev, ev) . . ...

  9. python 遗传算法精简版

    精简版遗传算法,算法中仅采用变异算子而没有使用交叉算子,但是进化依然很有效 from string import ascii_lowercase from random import choice, ...

  10. github上一款特别的侧滑

    知识分享: 首先看图,我只是大自然的搬运工,想实现这种特效的请点击连接下载github地址忘掉了,....http://download.csdn.net/detail/lj419855402/860 ...