详解:
指定目标
现在我们看看目标,access 短语的<what>部分:
<what> ::= * | [dn[.<style>]=<dnspec>] [filter=<XDMfilter>] [attrs=<attrlist>]
目标分成三部分.第一部分定义了基础部分的条件,位于目录信息树(DIT)
或是匹配的条目分辨名. 第二部分定义了必须实现的条目的属性和作为 XDM 过
滤器定义的条件.第三部分定义了对访问整个条目(不存在的话)或仅仅是一部
分,access 短语是否生效.此匹配的分辨名可以是如下的 styles:
<style> ::= regex | base | one | subtree | children
缺省风格是 regix,意思是值应该解析成正则表达式,表示匹配的条目分辨名.
选择匹配的字符串的一部分,保留匹配的部分用在以后作替换是可能的.我们使用
闭括号完成此部分.以后我们会称第一个匹配的部分为$1,第二个匹配部分为$2,
依此类推.
多数 access 短语不需要完整的正则表达式,而用正则表达式写是令人讨厌
的.基于此原因,提供其他一些风格:base 是你的访问是对于提供的条目名有效
的,one 代表提供的条目的所有直接子条目,subtree 代表所选条目加上所有的子
条目,children 代表所有子条目但不包括所选条目自己.代替使用 dn=part,你可
以简单定义星号,这比等价于 dn.regex=.*.的形式更易于理解.
以上是 access 短语可以成为整个条目或一部分前的情况.后面的情况在我
们指明一个属性列表时出现,
<attrlist> ::= <attr> | <attr> , <attrlist>
<attr> ::= <attrname> | entry | children
你需要每一个对条目有效的操作的条目访问控制.特别的,你从条目中获取值
时需要 read 访问权限,如果你要代表此条目需要 auth 访问权限.显然,你不需要
entry 访问权限以修改条目自身的值.
你需要 write 访问权限,以实现对子条目增删或重命名,包括改变条目的上级,
你需要 write 访问权限修改老的和新的上级.




