Liferay LDAP身份验证无法正常工作
问题描述:
我正在使用Liferay 6.2,并且正在尝试执行LDAP身份验证。 LDAP服务器由另一个组织提供,并且我无权访问任何配置,我只拥有系统帐户的凭据来查找目录。当我尝试从LDAP服务器的身份验证失败,出现以下错误代码与用户凭据登录的Liferay:Liferay LDAP身份验证无法正常工作
13:54:05,738 ERROR [http-bio-8080-exec-3][LDAPAuth:341] Problem accessing LDAP server
javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr:
DSID-0315270B, problem 2001 (NO_OBJECT), data 0, best match of:
'O=uni,C=de' remaining name 'ou=people,o=uni,c=de'
同样的错误,试图与不在LDAP存在的用户登录时,会发生目录。尽管如此,绘图仍然有效。尝试使用有效的用户凭证登录后,liferay数据库中会有相应的用户数据。但是访问Liferay是不可能的。
这些都是我在portal-ext.properties设置(测试LDAP连接返回成功,连接设置pseudonymised):
ldap.base.provider.url=ldaps://ldap.ldap-server
ldap.base.dn=ou=people,o=uni,c=de
ldap.security.principal=uid=prox,ou=prox,o=uni,c=de
ldap.security.credentials=secret
#auth.pipeline.enable.liferay.check=false
ldap.auth.enabled=true
ldap.auth.required=true
ldap.auth.method=bind
ldap.import.enabled=false
ldap.import.on.startup=false
ldap.import.interval=10
ldap.export.enabled=false
ldap.export.group.enabled=false
ldap.auth.search.filter=([email protected][email protected])
ldap.import.user.search.filter=(objectClass=inetOrgPerson)
ldap.attrs.transformer.impl=com.liferay.portal.security.ldap.DefaultAttributesTransformer
ldap.user.mappings=screenName=cn\npassword=userPassword\nfirstName=givenNam\nlastName=sn\njobTitle=title\ngroup=groupMembership
users.email.address.required=false
[email protected]
users.email.address.generator=com.liferay.portal.security.auth.DefaultEmailAddressGenerator
users.email.address.validator=com.liferay.portal.security.auth.DefaultEmailAddressValidator
ldap.password.policy.enabled=false
ldap.import.user.password.enabled=true
ldap.import.user.password.autogenerated=false
ldap.import.user.password.default=test
答
它现在有效。有两个问题:
我改变ldap.base.dn = OU =人,O = UNI,C = DE到ldap.base.dn = O = UNI,C = DE和
ldap.import.user.search.filter =(objectClass的=为inetOrgPerson)到ldap.import.user.search.filter =(objectClass的= *)
答
检查的LDAP侧的FQDN,包括前缀(CN,OU,等等),并确保它与Liferay中的目录配置相匹配。
您可以尝试在控制面板上对其进行配置,因为它可以检查连接是否已建立,所以对您来说更容易。您可以检查用户是否被抓取,甚至不需要重新启动服务器。
其实我所使用的控制面板,以及。我只是使用属性文件来共享我的设置。关于LDAP服务器端的认证,它似乎正常工作。负责LDAP服务器的人员检查了日志文件。我认为这可能是映射问题,因为LDAP服务器不提供邮件和密码作为属性。密码仍然映射到数据库,可能来自登录字段。邮件属性由users.email.address.required = false取消。登录不起作用。 – Potte 2014-09-25 09:33:28