0

我们有多个使用 OpenLDAP 进行身份验证和存储数据的应用程序。我们有很多从多个应用程序的 DB 到这些 OpenLDAP 实体的链接(每个应用程序都有自己的 DB),因此当您更改 OpenLDAP 实体时,您必须跟踪对象更改(目前我们使用 DN 作为参考键)。而在 LDAP 内部,我们很少有引用,比如什么用户可以访问哪些对象,因为他们可以拥有非常具体的访问权限(访问权限不依赖于层次结构),LDAP 也不会跟踪这些更改,所以一旦这些引用的对象被移动我们需要在 LDAP 和多个数据库中跟踪它们。

我是 linux 和 OpenLDAP 的新手(我们让它在 linux 上运行),但对我来说,这一切似乎都是一种错误的处理方式,而且似乎我们使用 LDAP 的方式并非设计用于使用(像这样使用它的想法来自高级开发人员)。

我的问题是:

  1. 以我所描述的方式使用 LDAP 有什么不好的地方吗?

  2. 我如何更改 OpenLDAP 模式来为我们正在使用的所有对象类创建类似 GUID 的东西,这样至少我们可以存储对象 GUID 而不是 DN,并且不必跟踪更改。如果我更改架构,是否可以按此 GUID 执行搜索和过滤?

4

1 回答 1

1

对不起,但是你的架构描述对我来说不是很清楚,所以如果这样使用它不好的话我就写不出来了。

在一家公司拥有多个目录在大中型公司中很常见(大多数情况下是由于历史原因),但是对于“元目录”上的单点登录,设置为具有单个身份验证点。

在我看来,DN 绝对不是在目录中指向对象的方法,因为移动对象正在改变他的 DN。每个目录都有一个继承自“top”类的属性,该类包含目录内的唯一标识符。在 OpenLDAP 中,它是entryUUID.

entryUUID: bec561c4-c5b0-102a-81c0-81bc30f92d57

如果您想在不太大的目录中链接数据,您还可以使用参照完整性,即用户在操作系统中链接到组的方式(当您移动用户时,您不必查看它所属的每个组)目录(OpenLDAP 中的 RefInt 覆盖)。

于 2013-06-20T06:05:18.807 回答