本文原创作品,如需转载请注明来源,作者:姜涛, 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
分享到:
相关推荐
- 网络协议:如LDAP、IMAP、SNMP等,允许与各种网络服务进行交互。 - 文件系统操作:读写文件、目录管理等。 - 网页服务:HTTP、FTP、SMTP等,方便网页数据的获取和发送。 5. **MVC框架及模板** - MVC(Model-...
Shiro 提供了 Realm 接口,开发者需要实现该接口以连接到特定的数据源(如数据库、LDAP 或其他存储用户信息的地方)。 Realm 将用户的凭证与存储的凭证进行比较,如果匹配,就认为用户身份已验证。 **2. 授权...
3. **桌面应用程序**:虽然非主流,但借助PHP-GTK扩展,可以构建跨平台的桌面应用程序。 PHP可在各种操作系统和Web服务器上运行,允许开发者选择面向过程或面向对象的编程方式。PHP 5引入了完整的面向对象模型,...
6. **MVC框架和模板**:PHP常用于构建MVC(模型-视图-控制器)框架,这有助于组织和分离应用程序的不同部分。PHP还有许多现成的框架,如TP(ThinkPHP),简化了Web开发流程。 7. **网站部署和安全**:PHP教程会涵盖...
环回示例-aaa ...笔记: 假设互联网用户将通过 OAuth 系统进行身份验证/授权...... 未知数: 许多 :) 如何在所有模型所需的全球 AAA 中使用中间件 玩: 目前,我已将一些特定于视图的内容移至 boo
3. **桌面应用程序**:虽然PHP不是桌面应用的最佳选择,但通过PHP-GTK扩展,可以创建跨平台的图形用户界面应用程序。 【PHP基础】 PHP支持多种操作系统和Web服务器,提供过程化和面向对象两种编程方式。PHP 4虽然有...
数据模型是键值,但支持许多不同类型的值:字符串、列表、集合、排序集合、哈希、HyperLogLogs、位图。 - 用于无线适配器的 rtl8192eu 芯片组驱动程序(包括 D-Link DWA-131 rev E1!) - Greenplum 数据库 - 输入...
此外,PHP还支持ODBC、 LDAP、IMAP、SNMP等协议,具有广泛的网络服务交互能力。 【文本处理和XML】 PHP拥有强大的文本处理功能,支持POSIX和Perl正则表达式,以及XML文档解析。PHP 4和5分别通过SAX、DOM、XSLT和...
配置过程中,要设定好数据源连接、身份验证机制(如LDAP或Active Directory)、安全策略以及性能调优参数。此外,还要考虑负载均衡和高可用性,确保Cognos服务的稳定性和可靠性。 4. **Cognos组件详解**: - **...
3. **LDAP(Lightweight Directory Access Protocol)**:AD使用LDAP协议进行通信。Java提供了JNDI(Java Naming and Directory Interface)库来与LDAP服务器交互,获取和操作目录服务信息。 4. **AD域对象的处理**...
5. **安全特性**:支持SSL/TLS加密,确保数据传输的安全性,同时可以集成其他认证系统,如LDAP、Active Directory等,实现用户身份验证。 6. **监控与日志**:提供详细的运行日志,便于故障排查;提供监控接口,可...