我第一次配置LDAP连接时,我是通过Liferay控制面板完成的,一切正常。但现在我想通过portal-ext.properties文件配置它,这些是我的配置:
ldap.auth.enabled=true
ldap.import.enabled=true
ldap.import.on.startup=true
ldap.import.method=user
ldap.auth.required=true
ldap.export.enabled=false
ldap.base.provider.url=ldap://********************
ldap.base.dn=********************
ldap.security.principal=********************
ldap.security.credentials=********************
ldap.user.mappings.0=uuid=\nscreenName=sAMAccountName\npassword=userPassword\nemailAddress=mail\nfirstName=givenName\nlastName=sN\njobTitle=\ngroup=memberOf\n
ldap.auth.search.filter.0=(sAMAccountName=@screen_name@)
ldap.import.user.search.filter.0=(objectClass=person)
ldap.import.group.search.filter.0=(objectClass=group)
ldap.group.mappings.0=groupName=cn\ndescription=description\nuser=uniqueMember
ldap.user.custom.mappings.0=
ldap.contact.mappings.0=
ldap.contact.custom.mappings.0=
除此之外,每次我改变一些配置时我都会清理数据库,以确保文件被正确读取。
当我运行服务器并转到控制面板中的LDAP身份验证时,所有配置都与我在portal-ext文件中配置的完全相同(即使测试LDAP连接工作正常)但用户配置为空。你能解释为什么我有这个问题吗?
答案 0 :(得分:3)
您必须定义以下属性才能使用id
ldap.server.ids=0
此外,您还需要使用url,principal,credential和base.dn属性,其ID与您使用的其他属性相同
ldap.base.provider.url.0=ldap://********************
ldap.base.dn.0=********************
ldap.security.principal.0=********************
ldap.security.credentials.0=********************
希望这有帮助!
答案 1 :(得分:0)
我发现了什么问题!我刚从所有配置中删除了服务器ID,现在控制面板中的字段最终被填满。
这些是正确的ldap配置:
ldap.auth.enabled=true
ldap.import.enabled=true
ldap.import.on.startup=true
ldap.import.method=user
ldap.auth.required=true
ldap.export.enabled=false
ldap.base.provider.url=ldap://********************
ldap.base.dn=********************
ldap.security.principal=********************
ldap.security.credentials=********************
ldap.user.mappings=uuid=\nscreenName=sAMAccountName\npassword=userPassword\nemailAddress=mail\nfirstName=givenName\nlastName=sN\njobTitle=\ngroup=memberOf\n
ldap.auth.search.filter=(sAMAccountName=@screen_name@)
ldap.import.user.search.filter=(objectClass=person)
ldap.import.group.search.filter=(objectClass=group)
ldap.group.mappings=groupName=cn\ndescription=description\nuser=uniqueMember
ldap.user.custom.mappings=
ldap.contact.mappings=
ldap.contact.custom.mappings=
使其工作的另一种方法是在连接配置中添加服务器ID,如下所示:
ldap.auth.enabled=true
ldap.import.enabled=true
ldap.import.on.startup=true
ldap.import.method=user
ldap.auth.required=true
ldap.export.enabled=false
ldap.base.provider.url.0=ldap://********************
ldap.base.dn.0=********************
ldap.security.principal.0=********************
ldap.security.credentials.0=********************
ldap.user.mappings.0=uuid=\nscreenName=sAMAccountName\npassword=userPassword\nemailAddress=mail\nfirstName=givenName\nlastName=sN\njobTitle=\ngroup=memberOf\n
ldap.auth.search.filter.0=(sAMAccountName=@screen_name@)
ldap.import.user.search.filter.0=(objectClass=person)
ldap.import.group.search.filter.0=(objectClass=group)
ldap.group.mappings.0=groupName=cn\ndescription=description\nuser=uniqueMember
ldap.user.custom.mappings.0=
ldap.contact.mappings.0=
ldap.contact.custom.mappings.0=