2014-09-23 261 views
0

我正在使用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 

回答

0

它现在有效。有两个问题:

  1. 我改变ldap.base.dn = OU =人,O = UNI,C = DE到ldap.base.dn = O = UNI,C = DE和

  2. ldap.import.user.search.filter =(objectClass的=为inetOrgPerson)到ldap.import.user.search.filter =(objectClass的= *)

0

检查的LDAP侧的FQDN,包括前缀(CN,OU,等等),并确保它与Liferay中的目录配置相匹配。

您可以尝试在控制面板上对其进行配置,因为它可以检查连接是否已建立,所以对您来说更容易。您可以检查用户是否被抓取,甚至不需要重新启动服务器。

+0

其实我所使用的控制面板,以及。我只是使用属性文件来共享我的设置。关于LDAP服务器端的认证,它似乎正常工作。负责LDAP服务器的人员检查了日志文件。我认为这可能是映射问题,因为LDAP服务器不提供邮件和密码作为属性。密码仍然映射到数据库,可能来自登录字段。邮件属性由users.email.address.required = false取消。登录不起作用。 – Potte 2014-09-25 09:33:28