`
tower
  • 浏览: 244952 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

LDAP读书笔记3-LDAP的模型

    博客分类:
  • LDAP
阅读更多

本文原创作品,如需转载请注明来源,作者:姜涛, towerjt@gmail.com

 

信息模型

 

信息指存储在 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 ),类似于链接

 

 

功能模型

<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]-->

  • 查询操作

 

查询操作包含 8 个参数

<!-- [if !supportLists]-->1、  <!-- [endif]-->Base object 基础对象(从那棵树的那个节点开始查)

<!-- [if !supportLists]-->2、  <!-- [endif]-->scope 查询范围

base 就查询本节点

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

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

<!-- [if !supportLists]-->3、  <!-- [endif]-->Alias Dereferencing Options 别名废弃

<!-- [if !supportLists]-->4、  <!-- [endif]-->Size Limit ,返回多少条记录

<!-- [if !supportLists]-->5、  <!-- [endif]-->Time Limit ,返回记录的 timeout

<!-- [if !supportLists]-->6、  <!-- [endif]-->Attributes-Only Parameter ,只返回属性,不返回值

<!-- [if !supportLists]-->7、  <!-- [endif]-->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=*)))

<!-- [if !supportLists]-->8、  <!-- [endif]-->List of Attributes to Return ,返回哪些属性

cn, sn, givenName

*

*, modifiersName

 

 

  • 更新操作

 

增加、删除、改名、修改

 

 

  • 认证控制操作

 

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

 

 

安全模型

访问控制模型

  • 大小: 17.4 KB
分享到:
评论

相关推荐

    PHP学习笔记总结.doc

    - 网络协议:如LDAP、IMAP、SNMP等,允许与各种网络服务进行交互。 - 文件系统操作:读写文件、目录管理等。 - 网页服务:HTTP、FTP、SMTP等,方便网页数据的获取和发送。 5. **MVC框架及模板** - MVC(Model-...

    apache-shiro 学习笔记

    Shiro 提供了 Realm 接口,开发者需要实现该接口以连接到特定的数据源(如数据库、LDAP 或其他存储用户信息的地方)。 Realm 将用户的凭证与存储的凭证进行比较,如果匹配,就认为用户身份已验证。 **2. 授权...

    PHP学习笔记

    3. **桌面应用程序**:虽然非主流,但借助PHP-GTK扩展,可以构建跨平台的桌面应用程序。 PHP可在各种操作系统和Web服务器上运行,允许开发者选择面向过程或面向对象的编程方式。PHP 5引入了完整的面向对象模型,...

    php教程,php总结笔记教程.pdf

    6. **MVC框架和模板**:PHP常用于构建MVC(模型-视图-控制器)框架,这有助于组织和分离应用程序的不同部分。PHP还有许多现成的框架,如TP(ThinkPHP),简化了Web开发流程。 7. **网站部署和安全**:PHP教程会涵盖...

    loopback-example-aaa:专注认证授权AccountingAudit AAA

    环回示例-aaa ...笔记: 假设互联网用户将通过 OAuth 系统进行身份验证/授权...... 未知数: 许多 :) 如何在所有模型所需的全球 AAA 中使用中间件 玩: 目前,我已将一些特定于视图的内容移至 boo

    PHP学习总结笔记资料.pdf

    3. **桌面应用程序**:虽然PHP不是桌面应用的最佳选择,但通过PHP-GTK扩展,可以创建跨平台的图形用户界面应用程序。 【PHP基础】 PHP支持多种操作系统和Web服务器,提供过程化和面向对象两种编程方式。PHP 4虽然有...

    java8集合源码-my-stars:我的GitHub星星的精选列表!

    数据模型是键值,但支持许多不同类型的值:字符串、列表、集合、排序集合、哈希、HyperLogLogs、位图。 - 用于无线适配器的 rtl8192eu 芯片组驱动程序(包括 D-Link DWA-131 rev E1!) - Greenplum 数据库 - 输入...

    PHP学习总结笔记.pdf

    此外,PHP还支持ODBC、 LDAP、IMAP、SNMP等协议,具有广泛的网络服务交互能力。 【文本处理和XML】 PHP拥有强大的文本处理功能,支持POSIX和Perl正则表达式,以及XML文档解析。PHP 4和5分别通过SAX、DOM、XSLT和...

    Cognos资料下载

    配置过程中,要设定好数据源连接、身份验证机制(如LDAP或Active Directory)、安全策略以及性能调优参数。此外,还要考虑负载均衡和高可用性,确保Cognos服务的稳定性和可靠性。 4. **Cognos组件详解**: - **...

    AD2noteApp

    3. **LDAP(Lightweight Directory Access Protocol)**:AD使用LDAP协议进行通信。Java提供了JNDI(Java Naming and Directory Interface)库来与LDAP服务器交互,获取和操作目录服务信息。 4. **AD域对象的处理**...

    SMQTTX 开源MQTT服务器 v2.0.9.zip

    5. **安全特性**:支持SSL/TLS加密,确保数据传输的安全性,同时可以集成其他认证系统,如LDAP、Active Directory等,实现用户身份验证。 6. **监控与日志**:提供详细的运行日志,便于故障排查;提供监控接口,可...

Global site tag (gtag.js) - Google Analytics