我知道LDAP服务器(或目录服务或目录)在面向对象的数据库中存储信息(主要用于存储用户信息)。
它只是一个“用户商店”吗?并且可以使用LDAP API或“服务器中的LDAP配置”进行用户身份验证并获取用户信息......
LDAP本身是否提供除存储用户信息之外的任何其他功能?像安全配置?政策配置?等
如果使用关系数据库(比如Oracle)来存储用户信息,性能会有多差?
感谢。
答案 0 :(得分:3)
实际上,较新版本的OpenLDAP仅在其内部存储其配置,如果尚未删除经典文本配置文件,则折旧。此功能在OpenLDAP [http://www.openldap.org/doc/admin24/slapdconf2.html#cn=config]中称为cn = config。您可能正在考虑的是动态ACI(不要与也提供的ACL混淆),当然,LDAP通常会提供类似的功能。还提供了监视器后端,通常LDAP喜欢自己,并且被驱动到自我管理的方向。但是,它的目的与RDBMS完全不同,它针对搜索操作进行了优化,但没有操纵数据并对其进行计算。这样想吧 - 例如用户信息或DNS信息的检索次数比修改的次数多得多,而且这是ldap摇滚的领域。你实际上很少需要总结UserID,不是吗? :)面向对象的数据库意味着 - 与RDBMS相反 - 数据的组织方式更接近于OO类型(classess,属性,继承等)。还有ldap的SQL后端(不知道它有什么意义),但我还没有听说过SQL数据库的LDAP后端。
在这里查看OpenLDAP管理指南
http://www.openldap.org/doc/admin24/
关于存储自定义信息,您可以通过继承/组合现有实体或从头开始创建自己的类,对象甚至属性类型。天是极限,男人; - )
答案 1 :(得分:0)
LDAP目录服务器将attributes
中的数据存储在entries
中。条目中需要或允许哪些属性由名为objectClass
的属性定义。每个属性类型都有schema
中的属性定义。属性类型定义具有syntax
,其定义允许的数据类型,可能是定义属性值如何比较的matching rule
和/或ordering rule
,以及描述属性的其他数据。任何类型的数据都可以存储在目录服务器数据库中,包括二进制数据。大多数情况下,目录服务器用于身份验证和配置文件信息。像OpenLDAP这样的传统目录服务器在更新(ADD,MOD,DELETE,MODRDN)上的性能不如验证或搜索,但更现代的服务器以非常高的速率执行更新。