现在我们了解一下数据库端的原理。
如果已经按照上一篇文章:“Windows+OpenLDAP+MySQL配置及使用详解(一)——基础配置”配置成功,在了解本篇文章内容之前,我们先将数据库中的测试数据清除掉:
1、删除原数据库中所有表格;
2、在下载的源码包中找到servers/slapd/back-sql/rdbms_depend/mysql目录,执行脚本backsql_create.sql 。
本文将通过一个例子讲解数据库结构。假设我们的LDAP服务端目录结构如下:
图一
首先给大家看一下,相应数据库结构:
图二
由图二看出,数据库中包括系统表格和自定义表格。系统表格是必须建立的表格,即backsql_create.sql脚本里的内容;自定义表格是根据实际的LDAP entry目录结构建立的相应的对象(Object)表,表格字段对应该对象的属性(Attribute)。
下面开始讲解怎样初始化数据库数据,使其能存储图一中的目录结构。
注:如果更改了系统表格中的数据,需要重启ldap服务才能生效。
1. 新增自定义表格:
自定义表格主要目的是为了存储同一类别的对象(object)数据,表格各个字段定义了对象类(objectClass)的属性。objectClass、object、attribute的概念都来自LDAP,下面都直接用英文表示,大家会比较清晰一些。
本例中,有如下objectClass:
DN |
objectClass |
dc=wfi,dc=wfiqa,dc=com |
organization(组织) |
ou=users |
organizationalUnit(组织内单元,本例中只有users这一个单元) |
uid=admin uid=user1</ |