php ldap添加与修改
/**
* ldap 备份
* @param int $cardid
* @param string $username
* @param string $password 未加密密码
* @return null
*/
function ldapBack($cardid,$username,$password){
$connect = ldap_connect(LDAP_HOST,LDAP_PORT);
if(!$connect){
$log = Logger::getLogger();
$log->fatal('备份LDAP连接失败!');
}
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
@$back_bind = ldap_bind($connect, LDAP_ADMIN_USER, LDAP_ADMIN_PW); $add_entry = array();
$add_entry['objectclass'][] = 'top';
$add_entry['objectclass'][] = 'person';
$add_entry['objectclass'][] = 'inetOrgPerson';
$add_entry['cn'] = $username;
$add_entry['uid'] = $cardid;
$add_entry['sn'] = $username;
$add_entry['userpassword'] = "{MD5}".base64_encode(md5($password,true));
$dn = "uid={$cardid},ou=people,dc=buct,dc=edu,dc=cn"; //查询ldap中是否已经存在相应数据
$base_dn = "DC=buct,DC=edu,DC=cn";
$filter = "(uid=$cardid)";
$read = ldap_search($connect, $base_dn, $filter);
$info = ldap_get_entries($connect, $read); if(empty($info['count']))
{//不存在数据,使用添加方法添加数据
$boo = ldap_add($connect,$dn,$add_entry);
}else
{//数据已经存在,使用编辑方法修改数据
$boo = ldap_modify($connect,$dn,$add_entry);
}
//$boo = ldap_modify($connect,$dn,$add_entry); ldap_close($connect);
$_data = array();
$_data['cardid'] = $info[0]['uid'][0];
$_data['name'] = $info[0]['sn'][0];
return $_data;
}
php ldap添加与修改的更多相关文章
- ExtJS 4.2 业务开发(三)数据添加和修改
接上面的船舶管理业务,这里介绍添加和修改操作. 目录 1. 添加操作 2. 修改操作 3. 在线演示 1. 添加操作 1.1 创建AddShipWindow.js 在业务中的view目录下创建一个Ad ...
- MVC5 网站开发之八 栏目功能 添加、修改和删除
本次实现栏目的浏览.添加.修改和删除. 栏目一共有三种类型. 常规栏目-可以添加子栏目,也可以添加内容模型.当不选择内容模型时,不能添加内容. 单页栏目-栏目只有一个页面,可以设置视图. 链接栏目-栏 ...
- TFS API:三、TFS WorkItem添加和修改、保存
TFS API:三.TFS WorkItem添加和修改.保存 WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1 ...
- 【记录】EF Code First 实体关联,如何添加、修改实体?
在使用 EF Code First 的时候,我们经常会对项目中的 Entry 进行一对多.多对多的映射配置,这时候就会产生主实体和子实体的概念,我们在添加.修改他们的时候,有时候会产生一些问题,比如添 ...
- ASP.NET MVC搭建项目后台UI框架—6、客户管理(添加、修改、查询、分页)
目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...
- PowerShell添加或修改注册表开机启动项脚本
代码如下: $name = Read-Host "请输入开机启动项的名字(随便起)" $value = Read-Host "请输入开机启动项的值" try{ ...
- javascript里面的数组,json对象,动态添加,修改,删除示例
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- jquery attr()方法 添加,修改,获取对象的属性值。
jquery attr()方法 添加,修改,获取对象的属性值. jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到 ...
- Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
http://www.jb51.net/article/42016.htm 初识Jquery EasyUI看了一些博主用其开发出来的项目,页面很炫,感觉功能挺强大,效果也挺不错,最近一直想系统学习一套 ...
随机推荐
- Java基础2-容器篇
java基础2-容器篇 1.页首请关注 思维导航大纲 1.常用容器的类型层次结构 2.理解容器的常用思维大纲 a.空间 时间 concurrentModifyException 加载因子 3.常用类源 ...
- linux limits.conf 配置
转自:http://kerry.blog.51cto.com/172631/300784 limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentic ...
- Redis批量查询删除KEYS
对腾讯云的Redis集群不支持很多指令(config get * .flushdb.flushall.等相关指令) redis指令限制:https://www.qcloud.com/document/ ...
- SlackWare安装
Keep It Simple Stupid 01.下载 slackware: http://www.slackware.com/ 中科大: http://mirrors.ustc.edu.cn ...
- (二)Linux Shell编程——运算符、注释
2.7 Shell运算符 Bash 支持很多运算符,包括算数运算符.关系运算符.布尔运算符.字符串运算符和文件测试运算符.原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...
- url-pattern配置
<url-pattern>/a</url-pattern> <url-pattern>/ff.do</url-pattern> <url-patt ...
- mybatis&Hibernate区别
mybatis是一个不完全的orm框架,因为mybatis需要程序员自己写大量的sql,需要程序员对sql的掌握比较高,不过mybatis可以通过xml文件可以灵活的配置要运行的sql语句,将sql与 ...
- HDUOJ---2546 饭卡
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- HDUOJ---What Are You Talking About
What Are You Talking About Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/204800 K ...
- HDUOJ-----Brave Game
Brave Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...