Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns LDAP目录设计注意事项_Design Patterns_Ldap - Fatal编程技术网

Design patterns LDAP目录设计注意事项

Design patterns LDAP目录设计注意事项,design-patterns,ldap,Design Patterns,Ldap,在一个组织中,每个员工都使用多个服务,因此我决定使用OpenLDAP服务器将与用户相关的信息存储在一个集中的位置(目前不是这样,这会引起很多麻烦)。在网上读了几本书和无数的文本后,我仍然无法决定选择哪两种设计方法 1. 将用户的最低个人数据(姓名、电话、电子邮件)放在ou=people、dc=example、dc=com下,并将特定于应用程序的条目放在单独的子树中,通过DN-s将它们链接到用户。例如,类似于一个单独的子树,用于包含别名、配额等的电子邮件。;用于PBX凭据的单独子树,等等。通过这种

在一个组织中,每个员工都使用多个服务,因此我决定使用OpenLDAP服务器将与用户相关的信息存储在一个集中的位置(目前不是这样,这会引起很多麻烦)。在网上读了几本书和无数的文本后,我仍然无法决定选择哪两种设计方法

1. 将用户的最低个人数据(姓名、电话、电子邮件)放在ou=people、dc=example、dc=com下,并将特定于应用程序的条目放在单独的子树中,通过DN-s将它们链接到用户。例如,类似于一个单独的子树,用于包含别名、配额等的电子邮件。;用于PBX凭据的单独子树,等等。通过这种方式,应用程序访问更加简单。另一方面,相同的信息在不同的子树中重复:用户的电子邮件和uid位于“ou=people,dc=example,dc=com”下,以及将电子邮件地址链接到用户邮箱的邮箱记录(恰好与用户的uid一致)

2. 另一种方法(在一些教程中也可以看到)是使用辅助类将与应用程序相关的个人数据填充到person对象中,如下所示:

使用此处的实际模式:

我觉得第一种方法更合理,但由于这是我第一次认真实施LDAP目录,涉及到很多用户,所以我宁愿向更有经验的LDAP管理员征求建议

很抱歉,这个问题可能太笼统了。

以上两个都不是

第一个想法就是糟糕的设计。是否将所有浮点列放入数据库中的一个表中

第二个想法使用了一份在13年前过期的互联网草案。这是它从未成为RFC的原因


使用
inetOrgPerson
对象类,将所有内容都粘贴在其中。使用目录来表示目录结构,例如用户、组、角色等。。。不要按照您的第一个想法隔离数据类型。

谢谢您发人深省的回复:)。“您会将所有浮点列放入数据库中的一个表中吗?”几乎没有。但是,我会考虑在复杂的搜索和包含大条目的数据中分割密集使用的数据。“糟糕”的想法不是隔离数据类型,而是根据数据对象的使用方式组织数据对象树。Postfix对一个人的电话号码不感兴趣,而查找另一个员工电话号码的员工也不会对其使用的邮件配额感兴趣。@badbishop这仍然是一个糟糕的想法,一种组织LDAP目录的非常奇怪的方式。大多数情况下,它们的组织是为了反映组织结构,出于另一个原因,这也是一个糟糕的想法,或者按照我上面建议的思路,即功能上。