LDAP 概念

LDAP的英文全称是Lightweight Directory Access Protocol,简称为LDAP,LDAP是轻量目录访问协议,LDAP是轻量目录访问协议。简单的说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。

LDAP的优势

1 .跨平台   2. 费用及维护  ,大多数的LDAP服务器安装起来很简单,也容易维护和优化。3 .复制技术  4 .允许使用ACI

LDAP的基本模型

1.信息模型:描述LDAP的信息表示方式         2.命名模型:描述LDAP中的数据如何组织         3.功能模型:描述LDAP中的数据操作访问     4.安全模型:描述LDAP中的安全机制

LDAP协议的特点

  • LDAP是一种目录服务,保存在特殊的数据库中,数据的读取速度远高于写入速度。
  • LDAP对查询做了优化,读取速度优于普通关系数据库。
  • LDAP不支持事务、不能进行回滚,需要进行这些操作的应用只有选择关系数据库。
  • LDAP采用服务器/客户端模式,支持分布式结构。
  • LDAP中的条目以树形结构组织和存储。
  • LDAP基于Internet协议,直接运行在简单和通用的TCP/IP或其他可靠的传输协议层上,使连接的建立和包的处理简单、快捷,对于互联网和企业网应用都很方便。
  • LDAP协议简单,通过使用查找操作实现列表操作和读操作。
  • LDAP通过引用机制实现分布式访问,通过客户端API实现分布式操作(对于应用透明),平衡了负载。
  • LDAP实现具有低费用、易配置和易管理的特点,并提供了满足应用程序对目录服务所需求的特性。

LADP的使用

统一身份认证主要是改变原有的认证策略,使需要认证的软件都通过LDAP进行认证,在统一身份认证之后,用户的所有信息都存储在AD Server中。终端用户在需要使用公司内部服务的时候,都需要通过AD服务器的认证。

  那么程序中是如何访问的呢? 我们以PHP脚本作为例子:

1.Php如何与LDAP连接和关闭

$ds=ldap_connect("ServerName")

ServerName是LDAP的服务器名,

  例:

$ds=ldap_connect(“10.31.172.30:1000”)

  返回值是:true 或false

  关闭连接

ldap_close($ds);

2. 在php中如何搜索用户信息

$ds=ldap_connect("10.31.172.30:1000");   //首先连接上服务器

$justthese =array("cn","userpassword",”location”); //搜索函数中的一个参数,要求返回哪些信息,

//以上传回cn,userpassword,location,这些都要求小写

$sr=ldap_search($ds,"o=jite","cn=dom*",$justthese);   //第一个参数开启LDAP的代号,第二个参数最基本的 dn条件值

3. 添加用户

$ds=ldap_connect("10.31.172.30:1000");     //首先连接上服务器

$r=ldap_bind($ds,"cn=domadmin,o=jite","password");       //系住一个管理员,有写的权限,cn=domadmin,o=jite顺序不能变

$info["cn"]="aaa";//必填

$info["userpassword"]="aaa";

$info["location"]="shanghai";

$info["objectclass"] ="person"; //必填person为个人,还有server…

ldap_add($ds,"cn=".$info["cn"].",o=jite", $info);

ldap_unbind($ds);  //取消绑定

ldap_close($ds);   //关闭连接

4. 删除用户

$ds=ldap_connect("10.31.172.30:1000");    //首先连接上服务器

ldap_bind($ds,"cn=domadmin,o=jite","password");     //绑定管理员,有删除的权限

$dn="cn=dingxf,o=jite";

ldap_delete($ds, $dn);          //删除用户

ldap_unbind($ds);//取消绑定

ldap_close($ds);//关闭连接

LOAP& its implimenlation的更多相关文章

  1. MySql索引总结

    索引概念 B+树索引分为聚集索引和非聚集索引(辅助索引),但是两者的数据结构都和B+树一样,区别是存放的内容. 可以说数据库必须有索引,没有索引则检索过程变成了顺序查找,O(n)的时间复杂度几乎是不能 ...

  2. oracle分区表运行计划

    分区表有非常多优点,以大化小,一小化了,加上并行的使用,在loap中能往往能提高几十倍甚至几百倍的效果. 当然表设计得不好也会适得其反.效果比普通表跟糟糕. 为了更好的使用分区表,这里看一下分区表的运 ...

  3. 第八章 SQL高级处理 8-1 窗口函数

    一.什么是窗口函数 窗口函数也称为LOAP函数.OnLine Analytical Processing的简称.意思是对数据库数据进行实时分析处理. 窗口函数就是为实现OLAP而添加的标准SQL功能. ...

  4. BabyLinux制作过程详解

    转:http://www.360doc.com/content/05/0915/14/1429_12641.shtml BabyLinux制作过程详解 作者:GuCuiwen email:win2li ...

  5. Hive2.2.1概述(待重写)

    概述 hive 是一个包裹着 hdfs 的壳子,hive 通过 hql,将 sql 翻译成 MR ,进行数据查询. Hive是⼀个构建在Hadoop之上的数据仓库 hive的数据存在hdfs上,元信息 ...

  6. Oracle表的种类及定义

    1表的类型 1)堆组织表(heap organized tables). 当增加数据时,将使用在段中找到的第一个适合数据大小的空闲空间.当数据从表中删除时,留下的空间允许随后的insert和updat ...

  7. 时间序列数据库(TSDB)初识与选择

    时间序列数据库(TSDB)初识与选择 本文作者由 MageByte 团队的 「借来方向」编写,关注公众号 给你更多硬核技术 背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工 ...

  8. 时间序列数据库(TSDB)初识与选择(InfluxDB、OpenTSDB、Druid、Elasticsearch对比)

    背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工智能.物联网.机器学习.商业智能.智能预警啊等等. 以前的系统,做数据可视化,信息管理,流程控制.现在业务已经不仅仅满足于这 ...

  9. 自己编写k8s

    ## 基于Docker和Kubernetes的企业级DevOps实践训练营 ### 课程准备 1. 离线镜像包 百度:https://pan.baidu.com/s/1N1AYGCYftYGn6L0Q ...

随机推荐

  1. 从单机到2000万 QPS 并发的 Redis 高性能缓存实践之路

    1.引言 知乎存储平台团队基于开源Redis 组件打造的知乎 Redis 平台,经过不断的研发迭代,目前已经形成了一整套完整自动化运维服务体系,提供很多强大的功能.本文作者陈鹏是该系统的负责人,本次文 ...

  2. Java语法基础-异常处理

    异常处理类层次结构图 检查异常与非检查异常 非检查异常(unckecked exception):Error 和 RuntimeException 以及他们的子类.javac在编译时,不会提示和发现这 ...

  3. GIS在石油行业中的应用

    在石油工业中,发现新的石油资源,取得竞争优势,是成功的关键之一.GIS系统能帮助评估潜在的石油资源,及时.准确.直观地定位油气资源的空间分布及其特征,以正确有效地开展部署勘探开发工作,占领市场先机. ...

  4. Petri网的工具

    需要寻找 Petri 网的工具的朋友可以在 http://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/complete_db.html 里面找一 ...

  5. Xaml中的转义字符

    字符 转义字符 备注 & (ampersand) & 这个没什么特别的,几乎所有的地方都需要使用转义字符 > (greater-than character) > 在属性( ...

  6. GA详解

    转:http://blog.csdn.net/u010451580/article/details/51178225 本文是去年课题组周报中的一个专题讲解,详细讲了GA,由于是周报,所以十分详细.很适 ...

  7. c Xcode has incompatible definitions in different translations units

    解决方案: build > setting enable module 改为No

  8. java图片放大或缩小

    package org.jimmy.autotranslate20181022.utils; import java.awt.Graphics; import java.awt.image.Buffe ...

  9. Java核心技术卷1 第三章

    1. Java区分大小写,下一段源代码中,关键字public称为访问修饰符,用于控制程序的其他部分对于这段代码的访问级别,关键字class表明Java程序中的全部内容都包含在类里面. 标准的类名命名规 ...

  10. [Python3网络爬虫开发实战] 1.9.4-Scrapyd API的安装

    安装好了Scrapyd之后,我们可以直接请求它提供的API来获取当前主机的Scrapy任务运行状况.比如,某台主机的IP为192.168.1.1,则可以直接运行如下命令获取当前主机的所有Scrapy项 ...