首页 > 后端开发 > php教程 > LDAP与PHP的要点

LDAP与PHP的要点

Jennifer Aniston
发布: 2025-02-19 10:34:12
原创
284 人浏览过

Essentials of LDAP with PHP

需要一种直接的方法来存储地址簿风格的数据和网络信息以及任何结构化数据吗? LDAP是一种可以追溯到1993年的技术,它提供了解决方案。虽然缺乏诸如Node.js和Go之类的新技术的“酷”因素,但其功能仍然很重要。

密钥概念:

1993年在密歇根大学创建的LDAP(轻量级目录访问协议)是用于管理目录服务的Internet协议。 它有效地存储和管理通讯录信息,网络详细信息和其他有组织的数据。>
    > OpenLDAP是一种广泛使用的开源LDAP服务器,是架构 - 敏捷的,这意味着它不会对数据结构或内容施加限制。 它可以使用命令行指令轻松地在基于Debian的系统上安装和配置。
  • > PHP通过Zend-LDAP组件(来自Zend Framework 2)与LDAP服务器进行交互。这允许服务器查询,连接管理和基本操作(例如数据库搜索,输入更新和删除)。
  • >
  • ldap目录采用层次树状结构,顶层称为根或碱。每个条目都包含属性 - 每个类型和一个或多个值。
  • >
  • 理解LDAP:
LDAP或轻量级目录访问协议,归功于1993年左右的密歇根大学,这要归功于Tim Howes,Steve Kille,Colin Robbins和Wengyik Yeong的努力。 它本质上是旧的X.500协议(从1980年代)的互联网友好版本,该协议最初是由国际电信联盟(ITU)设计的,用于管理电话目录。

“ LDAP”在技术上是指该协议,通常用于描述客户端和服务器组件。 将其视为目录服务器的SQL,即与LDAP启用服务器进行交互的语言。 流行的LDAP服务器包括Microsoft的Active Directory(自Windows 2000以来集成到Windows)和开源OpenLDAP,我们将在此教程系列中使用。 OpenLDAP的灵活性允许多样化的架构和数据存储。

>

这第一部分涵盖:

> OpenLDAP设置基础知识。

加载数据记录。

>使用Php。
  1. 基本术语:
  2. 在继续前进,让我们澄清一些关键术语:
  3. LDAP Term Description
    dn Distinguished Name: A record's unique identifier, similar to a primary key in relational databases.
    Directory Schema Defines the structure and constraints of the directory information.
    entry A record containing attributes that store data.
    attribute Similar to an associative array element or database column; specifies the data type, sorting rules, case-sensitivity, and other criteria.
    cn Common Name (e.g., "John Smith")
    sn Surname (e.g., "Smith")

    为了深入了解,请咨询O'Reilly的LDAP指南或LDAP上的Wikipedia条目。

    > 设置LDAP服务器:

    >

    > OpenLDAP安装和配置可能有些复杂。 这些步骤针对基于Debian的服务器进行了优化,目的是为了清晰和简洁:>

    1. 安装核心服务器和实用程序:

      sudo apt-get install slapd ldap-utils
      登录后复制
    2. 配置服务器:

      dpkg-reconfigure slapd
      登录后复制
      回答提示如下:

        >省略OpenLDAP服务器配置?
      • <>
      • > DNS域名:
      • (或您的域)homestead.localdomain>
      • >您组织的名称:(您的组织名称)
      • >
      • 管理员密码:(选择一个强密码)
      • 确认密码:(重复密码)
      • >
      • > BDB(Berkeley db)
      • >您是否希望在清除Slapd时删除数据库?
      • <>
      • 移动旧数据库?
      • 允许LDAPV2协议?
      • <>

    验证:>

    通过运行:

    检查安装

    ldapsearch -x -b dc=homestead,dc=localdomain
    登录后复制
    如果遇到错误,请确保运行OpenLDAP:

    >

    sudo netstat -tlnp | grep slapd
    登录后复制
    您应该看到输出,表明slapd在端口389上听

    填充数据库:

    create

    带有以下内容:

    > users.ldif

    加载数据:
    dn: cn=Sheldon Cooper,ou=People,dc=homestead,dc=localdomain
    cn: Sheldon Cooper
    objectClass: person
    objectClass: inetOrgPerson
    sn: Cooper
    
    dn: cn=Leonard Hofstadter,ou=People,dc=homestead,dc=localdomain
    cn: Leonard Hofstadter
    objectClass: person
    objectClass: inetOrgPerson
    sn: Hofstadter
    
    dn: cn=Howard Wolowitz,ou=People,dc=homestead,dc=localdomain
    cn: Howard Wolowitz
    objectClass: person
    objectClass: inetOrgPerson
    sn: Wolowitz
    
    dn: cn=Rajesh Koothrappali,ou=People,dc=homestead,dc=localdomain
    cn: Rajesh Koothrappali
    objectClass: person
    objectClass: inetOrgPerson
    sn: Koothrappali
    登录后复制

    (您将提示您输入管理员密码。)
    ldapadd -x -W -D "cn=admin,dc=homestead,dc=localdomain" -f users.ldif
    登录后复制

    >使用:

    验证记录

    (php互动,连接到服务器,搜索,更新和删除和删除,将在随后的部分中随后的部分,由于长度限制。)

以上是LDAP与PHP的要点的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板