人在仙台 发表于 2010-07-29 19:53

ldap用mysql作后端的时候,出现错误。---已解决 !!!!

本帖最后由 人在仙台 于 2010-08-30 17:19 编辑

我用yum安装的ldap

yum -y install openldap-servers openldap-clients

配置了ODBC
通过ODBC能成功连接mysql

isql ldap
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help                       |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>


然后,配置了/etc/openldap/slapd.conf
-------------------------------------------------------------
modulepath      /usr/lib64/openldap
moduleload back_sql.la
database      sql

suffix          "dc=test,dc=jp"
rootdn          "cn=root,dc=test,dc=jp"

rootpw                1234567890

dbname          ldap
dbuser          ldap
dbpasswd      123456
subtree_cond    "ldap_entries.dn LIKE CONCAT('%',?)"
insentry_query"INSERT INTO ldap_entries (dn,oc_map_id,parent,keyval) VALUES (?,?,?,?)"
has_ldapinfo_dn_ru      no
-------------------------------------------------------------

我用slaptest测试ldap的设定时候,出现如下的警告。
slaptest
-----------------------------------------------------------------------
WARNING: No dynamic config support for database sql.
config file testing succeeded
-----------------------------------------------------------------------


尝试着写入如下deldif数据的时候出现如下的报错。
vi ./entries.ldif
----------------------------------
dn: dc=test,dc=jp
objectClass: dcObject
objectClass: organization
dc: test
o: test

dn: cn=root,dc=test,dc=jp
objectClass: organizationalRole
cn: root
--------------------------------------
写入
ldapadd -x -D "cn=root,dc=test,dc=jp" -W -v -f ./entries.ldif
------------------------------------------------------------------------------------
报错信息:
ldapadd: Server is unwilling to perform (53)
      additional info: operation not permitted within namingContext
------------------------------------------------------------------------------------
而且,在mysql的log中没有产生任何信息,
我怀疑是ldap不能通过odbc连接到mysql呢?

请指点。。
:em16:

人在仙台 发表于 2010-08-03 12:17

报错信息:
ldapadd: Server is unwilling to perform (53)
      additional info: operation not permitted within namingContext

明白什么为题了,

因为后台mysq的ldap_attr_mappings 和 ldap_oc_mappings表里没有
关于ldapadd指令的定义。所以。LDAP不能将dn写进后台mysql。

要想使用back_sql就需要将我们要用到的schma和属性一对一的
写到MYSQL中。这非常麻烦,非常考验大家的mysql功底。

ldap提供了test同的testdb_metadata.sql
可以通过这个来了解back_sql的架构。

827676277 发表于 2012-12-09 14:35

本帖最后由 827676277 于 2018-03-15 11:49 编辑

楼主能否分享下你LDAP+MYSQL的经验呢?小弟现在就在研究这个当中,什么都是刚入门而已,网上也很少关于MYSQL作为LDAP后台数据库的知识,也不知道什么书有关这方面的知识,能否指导下小弟。
页: [1]
查看完整版本: ldap用mysql作后端的时候,出现错误。---已解决 !!!!