OpenLDAP telephoneNumber架构

时间:2016-08-06 22:23:36

标签: ldap openldap

我尝试使用OpenLDAP 2.4.31创建一个带有标准模式的电话簿。

插入包含哈希(#)或星号(*)的数字不会起作用,并返回语法错误。

RFC告诉我一个数字如下:可打印的字符串(字母,数字,',(,),+ ,,, - ,。,/,:,?和空格)和&#34 ;

如何编辑架构以支持#和*字符?

2 个答案:

答案 0 :(得分:1)

您必须更改telephoneNumber架构条目中的OID,以根据RFC引用更通用的属性语法OID。不是个好主意。你最好使用不同的属性。

答案 1 :(得分:1)

我们遇到同样的问题!移动网络使用包括井号(散列)或星号的数字提供各种服务和信息。这是完全正常使用电话号码字段的完美有效问题。

非常随意地看一下RFC 4517,我发现这是真的! LDAP RFC仅提供非常有限的基本语法类型选择,而telephoneNumber映射到PrintableString。 RFCWG可能比其实际应用对其RFC本身更感兴趣。我的意思是,哪个在电话号码字段中更有用 - '?'或'#'..

正如已经提到的那样,黑客cosine.schema可能会导致更大的问题,并且不会升级安全。仅供参考,有一些LDAP服务器,有许多关于RFC实现的灵活性。看看OpenDJ: https://forgerock.org/opendj/

在这种情况下,任何服务器端“修复”都可能不再严格符合RFC,如果您需要与其他 LDAP系统。但恕我直言将客户端映射更改为另一种不相关的字段类型很难被称为“更好”,尤其是从旁观者的角度来看。因此要么获得更宽容的另一个LDAP服务器,要么更改客户端上的字段映射 - 方式会带来风险,应理解为RFC 4517的限制。