返回列表 回复 发帖

[已解决] 使用LDAP验证遇到的问题。

请教一个问题。现在我用LDAP的做用户验证。但由于extmail自带的extmail.schema的有些attributetype及objectclass的名称与我现有的有些冲突(misc.schema)。我改掉这些名称有没有问题?
extmail的程序应该会不会将这些名称写死到程序里面去?还是我可以通过修改配置来配合名称的更改?
另我修改extmail.schema后,发现导入数据时,老是提示
object class 'extmailAlias' requires attribute 'extMailLocalAddress'
但我前面已经有定义attributetype 'extMailLocalAddress'。为什么LDAP找不到?

[ 本帖最后由 falkon 于 2009-6-23 22:47 编辑 ]

回复 1# falkon 的帖子

  你导入的什么数据,extmail自带的extmail.ldif文件,还是LZ自己写的一个ldif文件?
extmail.schema文件的内容LZ不熟的话,最好不要改哦
ExtMail邮件开发网
liushaobo@extmail.org
探索高性能的Anti-Spam组合
我是用init.ldif这个文件修改后加的。
我贴一下我修改后报错的那部分的内容。
attributetype ( 1.3.6.1.4.1.12461.1.1.22
        NAME ( 'extMailLocalAddress' )
        DESC 'RFC822 email address, can contain @domain.tld value'
        EQUALITY caseIgnoreIA5Match
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )

objectclass ( 1.3.6.1.4.1.12461.1.2.3
        NAME ( 'extmailAlias' )
        SUP top STRUCTURAL
        DESC 'objectclass for internet email/domain aliases'
        MUST ( extMailLocalAddress $ active $ virtualDomain )
        MAY ( mail $ rfc822MailAlias $ catchAllAddress $
        expireDate $ createDate ) )


Entry (mailLocalAddress=support@xxx.xxx.xxx.,o=extmailAlias,dc=xxx,dc=xxx,dc=xxx): object class 'extmailAlias' requires attribute 'extMailLocalAddress'

回复 3# falkon 的帖子

首先不明白你为什么要改init.ldif文件?改了地方没有贴出来哦?
object class 'extmailAlias' requires attribute 'extMailLocalAddress'
自己注意红色的地方,还有用的是openldap,还是其它的ldap?

[ 本帖最后由 liushaobo 于 2009-6-23 21:23 编辑 ]
ExtMail邮件开发网
liushaobo@extmail.org
探索高性能的Anti-Spam组合
上面那里找到原因了。是init.ldif有个条目的名字没有改~~
# Alias: mailLocalAddress=support@xxx.xxx.xxx, o=extmailAlias, dc=xxx,dc=xxx,dc=xxx
原来是dn: mailLocalAddress=support@xxx.xxx.xxx, o=extmailAlias, dc=xxx,dc=xxx,dc=xxx
正确的应该是:dn: extmailMailLocalAddress=support@xxx.xxx.xxx, o=extmailAlias, dc=xxx,dc=xxx,dc=xxx
extmailMailLocalAddress: support@xxx.xxx.xxx
但现在又有新的问题了。这部分是init.ldif的有问题的部分。。。
# Alias: mailLocalAddress=support@xxx.xxx.xxx, o=extmailAlias, dc=xxx,dc=xxx,dc=xxx
dn: extmailMailLocalAddress=support@xxx.xxx.xxx, o=extmailAlias, dc=xxx,dc=xxx,dc=xxx
extmailMailLocalAddress: support@xxx.xxx.xxx
active: 1
virtualDomain: xxx.xxx.xxx
mail: postmaster@xxx.xxx.xxx
objectclass: extmailAlias
报错为
adding new entry "extmailMailLocalAddress=support@xxx.xxx.xxx, o=extmailAlias, dc=xxx,dc=xxx,dc=xxx"
ldapadd: Invalid DN syntax (34)
        additional info: invalid DN


什么原因?

[ 本帖最后由 falkon 于 2009-6-23 22:19 编辑 ]
原帖由 liushaobo 于 2009-6-23 21:22 发表
首先不明白你为什么要改init.ldif文件?改了地方没有贴出来哦?

自己注意红色的地方,还有用的是openldap,还是其它的ldap?
用的是OPENLDAP
改的原因是因为我的BDN已经在整合SAMBA已经定义过了。所以就不需要再初始化一次。
# extmail.org
dn: dc=extmail.org
objectClass: organization
objectClass: dcObject
dc: extmail.org
o: extmail.org

# Manager, extmail.org
dn: cn=Manager,dc=extmail.org
objectClass: top
objectClass: organizationalRole
cn: Manage
这部分去掉了
剩下的就是将DC部分和域名改一下。。

[ 本帖最后由 falkon 于 2009-6-23 22:17 编辑 ]
问题解决
修改了Schema文件后。需要将LDAP的缓存的文件删除。不然,LDAP仍然会以上一次的SCHEMA内容来做判断,由于两次的objectclass和attributetype不同。造成了该问题。
好帖子..早点看到就好了..我也遇到了这个问题..不过已经解决了..强
返回列表