PHP ADLogin
<?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的更多相关文章
- 7天学会HTML--HTML综述
一周学会HTML 1.HTML是什么? HTML 指的是超文本标记语言 (Hyper Text Markup Language) 2.HTML发展历程 HTML版本从1.0到4.0不断升级,其版本的规 ...
- Ext sqlserver C# 数据库备份还原代码,给大家参考下
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %& ...
- JAVA使用Ldap操作AD域
项目上遇到的需要在集成 操作域用户的信息的功能,第一次接触ad域,因为不了解而且网上其他介绍不明确,比较费时,这里记录下. 说明: (1). 特别注意:Java操作查询域用户信息获取到的数据和域管理员 ...
- Web购物车案例(servlet+bean+jsp)
一些B话 事情来得太突然,一个朋友说是要我帮忙做一个JavaWeb的课程设计,在过一天就要去答辩了- 这我哪受的了时间这么短还没有~~~,正准备委婉的拒绝的时候他说写完之后给我那个啥- 好吧,我就是这 ...
随机推荐
- 用Navicat更新数据库表中的某一字段
最近需要在A表中根据B表的某一值来进行排序输出,无奈SQL技术不够,不知道怎么连接才能达到目标,于是想到在A表中添加B表的目标值字段,然后通过更新A表从而使A表有目标字段,进而进行排名....够不够纠 ...
- 八皇后,回溯与递归(Python实现)
八皇后问题是十九世纪著名的数学家高斯1850年提出 .以下为python语句的八皇后代码,摘自<Python基础教程>,代码相对于其他语言,来得短小且一次性可以打印出92种结果.同时可以扩 ...
- 学员信息录入(StuInfoManager) 用分层实现(既MySchool后的一个案例)
数据库 数据表名 Student 中文表名 学员信息表 字段显示 字段名 数据类型 字段大小 备注和说明 编号 stu_id int 主键,自增1 学生姓名 stu_name varchar 50 不 ...
- 用bower命令创建项目
1,先安装bower,npm install -g bower 2,cd到项目文件夹下,安装项目所需要的依赖包,比如 npm install jquery;npm install bootstrap, ...
- Html之初体验
概述 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言.相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏览器根据标记 ...
- 18SpringMvc_在业务控制方法中收集数组参数
这篇文章我们要解决的问题的多选框选中,并批量删除. 比如:
- linux命令细究
ls -ldahipFtr -t按照修改时间 -r翻转排序 /etc/profile 别名grep --color ls -pF ^$空行egrep -v "^#|^$&quo ...
- MySQL基础 - mysql命令行客户端
在Linux系统当中,mysql作为一个客户端命令程序,在很大程度上连接数据库都是使用mysql,因此很有必要熟悉mysql命令行的使用. 这里假设数据库用户为icebug,密码为icebug_pas ...
- pandas 修改 DataFrame 列名
问题: 有一个DataFrame,列名为:['$a', '$b', '$c', '$d', '$e'] 现需要改为:['a', 'b', 'c', 'd', 'e'] 有何办法? import pan ...
- 如何拿到半数面试公司Offer——我的Python求职之路(转)
原文出处:http://www.cnblogs.com/Lands-ljk/p/5836492.html 从八月底开始找工作,短短的一星期多一些,面试了9家公司,拿到5份Offer,可能是因为我所面试 ...