我们有多个使用 OpenLDAP 进行身份验证和存储数据的应用程序。我们有很多从多个应用程序的 DB 到这些 OpenLDAP 实体的链接(每个应用程序都有自己的 DB),因此当您更改 OpenLDAP 实体时,您必须跟踪对象更改(目前我们使用 DN 作为参考键)。而在 LDAP 内部,我们很少有引用,比如什么用户可以访问哪些对象,因为他们可以拥有非常具体的访问权限(访问权限不依赖于层次结构),LDAP 也不会跟踪这些更改,所以一旦这些引用的对象被移动我们需要在 LDAP 和多个数据库中跟踪它们。
我是 linux 和 OpenLDAP 的新手(我们让它在 linux 上运行),但对我来说,这一切似乎都是一种错误的处理方式,而且似乎我们使用 LDAP 的方式并非设计用于使用(像这样使用它的想法来自高级开发人员)。
我的问题是:
以我所描述的方式使用 LDAP 有什么不好的地方吗?
我如何更改 OpenLDAP 模式来为我们正在使用的所有对象类创建类似 GUID 的东西,这样至少我们可以存储对象 GUID 而不是 DN,并且不必跟踪更改。如果我更改架构,是否可以按此 GUID 执行搜索和过滤?