ExtMail服务器社区's Archiver

haodea 发表于 2009-10-28 11:13

ldap中如何增加搜索属性的值

老大们.遇到下面一个问题..我自己添加了department这个属性到ldap中..已经定义成功了.outlook中已经可以读取出来了.但是我在outlook 2003中搜索部门的时候提示如下信息..请问我是不是需要增加"SRCH attr="? 如果是..我应该在哪个文件中着手做..实在找不到了.

Oct 28 10:53:46 ldap1 slapd[20845]: conn=62 op=2 SRCH base="ou=employees,dc=domain,dc=com,dc=cn" scope=2 deref=3 filter="(&(department=it*))"
Oct 28 10:53:46 ldap1 slapd[20845]: conn=62 op=2 SRCH attr=cn commonName mail roleOccupant display-name displayname sn surname co organizationName o givenName legacyExchangeDN objectClass uid mailNickname title company physicalDeliveryOfficeName telephoneNumber
Oct 28 10:53:46 ldap1 slapd[20845]: <= bdb_substring_candidates: (department) not indexed

hzqbbc 发表于 2009-10-28 11:40

attr是oe提交过来,需要ldap服务器返回的内容属性列表,有些属性ldap里没有的。可以自己定义,建议你搜索google,找openldap做地址本的文章。

liushaobo 发表于 2009-10-30 18:03

在phpldapadmin和ldif文件加都可以

haodea 发表于 2009-11-2 23:10

我是在schema中添加了.请大家耐心往下看完
-------------------这里也算是共享下方法------
编辑OpenLDAP的模式定义文件inetorgperson.schema,增加属性定义
attributetype ( 2.16.840.1.113730.3.1.900
  NAME 'Department'
  DESC 'whether the person in this group
  EQUALITY caseIgnoreMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128}
  SINGLE-VALUE )
其中2.16.840.1.113730.3.1.900和901是选择未被使用的OID,1.3.6.1.4.1.1466.115.121.1.15则是字符串类型的语法。
在inetOrgPerson类中启用这个属性
objectclass  ( 2.16.840.1.113730.3.2.2
        NAME 'inetOrgPerson'
  DESC 'RFC2798: Internet Organizational Person'
        SUP organizationalPerson
        STRUCTURAL
  MAY (
...
    isAbsent $ Department )
  )

最后重启下ldap服务。我的属性就定义出来了..已经可以在outlook中部门这个对应上了..证明我的定义是没有错了吧..可是我在outlook中搜索的时候,没有结果反馈出来.在ldap中的log就是上面的..感觉到我好像在哪里少加了那个搜索词..我实在找不到是在哪里添加那个搜索列表..请大家贡献下..谢谢了。

[[i] 本帖最后由 haodea 于 2009-11-2 23:18 编辑 [/i]]

haodea 发表于 2009-11-2 23:22

[quote]原帖由 [i]liushaobo[/i] 于 2009-10-30 18:03 发表 [url=http://www.extmail.org/forum/redirect.php?goto=findpost&pid=67625&ptid=12023][img]http://www.extmail.org/forum/images/common/back.gif[/img][/url]
在phpldapadmin和ldif文件加都可以 [/quote]

我已经添加出来了(见楼上的帖子).只是在outlook中搜索的时候提示那个我添加的那个属性不在搜索列表中(一楼的帖子)..所以报那个错误..

应该有解吧..少波?

[[i] 本帖最后由 haodea 于 2009-11-2 23:23 编辑 [/i]]

mouse 发表于 2009-11-3 16:40

帮lz顶,虽然看不太明白

liushaobo 发表于 2009-11-3 17:28

你要明白schema、ObjectClass、Attribute之间的关系,通讯簿所需的Attribute在OpenLDAP的schema文件都有的,你加载就可以了,一般不用自己建
昨天把[url]http://www.extmail.org/forum/thread-9791-1-1.html[/url]的一些OpenLDAP的schema、ObjectClass、Attribute更新了一下,

haodea 发表于 2009-11-9 23:02

老大.现在的问题是.如何更新outlook搜索时可以搜索到department呢?报错如下:
Oct 28 10:53:46 ldap1 slapd[20845]: conn=62 op=2 SRCH attr=cn commonName mail roleOccupant display-name displayname sn surname co organizationName o givenName legacyExchangeDN objectClass uid mailNickname title company physicalDeliveryOfficeName telephoneNumber
Oct 28 10:53:46 ldap1 slapd[20845]: <= bdb_substring_candidates: (department) not indexed

感觉到是搜索的时候就没有搜索department这个属性..不知道这样的理解对不对。

liushaobo 发表于 2009-11-10 15:49

这个应当是索引的问题

haodea 发表于 2009-11-17 09:08

我是这么定义的..为什么就不对呢?
# Indices to maintain for this database
index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub
index department                        eq,pres

lin6_ma 发表于 2011-1-6 16:41

我现在也遇到同样的问题,也在找办法解决

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.