请注意,每一个都定义了属性的OID,给出了一个短的名称,以及一个简短的描述。每一个名称都是OID的一个别名。Slapd(8)在返回结果的时候,将返回第1个列出的名称。
第1个名称,name,保存了directoryString(UTF-8编码的Unicode)语法。该语法由OID说明。(1.3.6.1.4.1.1466.115.121.1.15标识了目录字符串语法)。还说明了一个推荐长度为32768的选项。服务器应该支持该长度的值,但是,也可以支持更长的值。该域没有指明长度限制,因此,在服务器上被忽略,并且服务器不会限制其大小。ldap认证另外,相等和子串匹配使用不区分大小写的规则。下面是经常使用的语法和匹配规则(OpenLDAP支持这些,以及更多)
第2个属性,cn,是name的一个子类型,因此,它继承了语法,匹配规则,并且使用name.commonName作为别名。
两个属性都没有限制到单一值。都可以被用户应用程序所使用,都不存在过期,都不是集合。
很多组织为用户保留唯一的名字(unique name),虽然用户可以使用displayName,但是这个属性(name)依旧由用户控制。而不是organization。我们可以从 inetorgperson.schema 拷贝displayName ,替换OID,name,和描述(description)。
attributetype ( 1.1.2.1.1 NAME 'myUniqueName' DESC 'unique name with my organization' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
但是,如果我们要使name属性包含一个断言,这个属性可以被定义为name的子属性。
attributetype ( 1.1.2.1.1 NAME 'myUniqueName' DESC 'unique name with my organization' SUP name )
很多的组织为每一个用户保留一个头像。myPhoto属性类型的定义可以用来保存用户的头像。当然用户可以选择jpegPhoto属性类型(RFC2798)(或其子类型)来保存头像。当然你只能在图片符合JPEG File Interchange Format时使用。
当然,一个使用八进制语法的属性类型可以这样的定义:
attributetype ( 1.1.2.1.2 NAME 'myPhoto' DESC 'a photo (application defined format)' SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE )
在这,语法中并没有置顶photo的格式(format),这里假设访问属性的应用可以对其值进行处理。
如果你想支持多种图片格式,你需要为每一个格式定义属性类型。为图片添加类型信息的前缀。或者使用ASN.1描述值,和use the ;binary transfer option。
可以使图片属性能够保存URI,你可以在labeledURI(RFC2079)后创建一个属性,或者创建一个子类型。
attributetype ( 1.1.2.1.3 NAME 'myPhotoURI' DESC 'URI and optional label referring to a photo' SUP labeledURI )
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-31257-14.html
面对的不光是日本还有美国
伟大领袖毛主席教导我们说