zoukankan      html  css  js  c++  java
  • LOAP& its implimenlation

    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);//关闭连接

  • 相关阅读:
    页面可视化搭建工具前生今世
    16、Redis手动创建集群
    15、Redis的集群
    14、Redis的复制
    13、Redis的发布订阅模式
    12、Redis的事务
    11、Redis的持久化(RDB、AOF)
    9、Redis处理过期keys的机制
    8、Redis中sort命令详解
    7、Redis中对ZSet类型的操作命令
  • 原文地址:https://www.cnblogs.com/luv-letter/p/10807614.html
Copyright © 2011-2022 走看看