zoukankan      html  css  js  c++  java
  • ldap信息模型

    信息模型

     

    信息指存储在 Directory 中的内容。 LDAP 中最基础的信息单元是条目,存储的结构是一个树形的结构。

    LDAP 中的信息可以归纳为“条目、属性、值”三类

     

    每一个 条目都有一个标示名( DN ),这是根节点,上图的 DN dc=example,dc=com 。每一个条目由一个属性和值组成。dc类似于表名?

     

    属性有语法和匹配规则,语法标明对应与属性的值是什么类型,( INTEGER DirectoryString OID GeneralizedTime 等)。匹配规则指的是这个属性如何比较和排序规则,比方说 caseIgnoreMatch 就是大小写无关比较、排序,integerMatch 就是按整数形式比较、排序等。

    属性分两类,用户态属性和操作态属性。用户态属性是用户能修改的属性,而操作态属性一般是 Directory 自己管理的。

    属性可以加上一个限制就是这个属性允不允许唯一性,一般是通过设定这个属性是否允许 Multi 来设置。有些 Directory 甚至允许管理员设定属性对应的值的最大长度。

     

    Directory schema 和数据库的 schema 不一样,没有数据库的 schema 要求的那么严格,有一个 Required Attributes Allowed Attributes 的限制, Required Attributes 是要求对象必须有个属性。

     

    命名模型

     

    1 dn:dc=example,dc=com

    2 dn:ou=people, dc=example,dc=com

    3 dn:uid=jtower, ou=people, dc=example,dc=com

     

    可以通过多个属性值对来唯一确定一个条目:

    cn=John Smith + mail=jsmith@example.com

     

    如果值里面还有特殊字符,如( space # , + \ < > ; )都需要加转义符 \

     

    LDAP 支持别名( alias ),类似于链接

     

     

    功能模型

    • 查询操作

     

    查询操作包含 8 个参数

    1、  Base object 基础对象(从那棵树的那个节点开始查)

    2、  scope 查询范围

    base 就查询本节点

    onelevel 就查询本节点的下一级节点

    sub 查询本节点一下含本节点

    3、  Alias Dereferencing Options 别名废弃

    4、  Size Limit ,返回多少条记录

    5、  Time Limit ,返回记录的 timeout

    6、  Attributes-Only Parameter ,只返回属性,不返回值

    7、  Search Filter ,过滤条件

    相等操作: sn=smith

    部分字符串操作: sn=smith* sn=*smith sn=smi*th sn=*smith*

    近似操作: sn~=jensen ,有可能返回 jenson 等,不同的系统支持可能不一样

    大于等于和小于等于: sn<=Smith age>=21 age>21

    存在操作: telephoneNumber=* ,返回存在 telephoneNumber 的记录

    扩展操作

    否定操作: (!(sn=smith)) sn 不等于 smith

    组合操作: (&(sn=smith)(L=MountainView)) (|(sn=Smith) (sn=Jones)) (&(mail=*)(!(telephoneNumber=*)))

    8、  List of Attributes to Return ,返回哪些属性

    cn, sn, givenName

    *

    *, modifiersName

     

    • 更新操作

     

    增加、删除、改名、修改

     

    • 认证控制操作

     

    Bind unbind abandon (取消操作,当一个大的查询发起的时候,可以会发起一个 abandon 操作中断查询)

  • 相关阅读:
    .NET:CLR via C# A Brief Look at Metadata
    在容器中运行 Jenkins pipeline 任务
    Azure AI 服务之文本翻译
    linux journalctl 命令
    容器化的 DevOps 工作流
    System V IPC 之消息队列
    System V IPC 之信号量
    System V IPC 之共享内存
    减小容器镜像的三板斧
    linux chroot 命令
  • 原文地址:https://www.cnblogs.com/jjkv3/p/1434144.html
Copyright © 2011-2022 走看看