Liferay LDAP Auth未按预期工作

时间:2012-04-19 14:27:26

标签: java ldap liferay-6 apacheds

我正在使用Liferay 6.1 CE,我有以下与以下博客相关的问题

参考:http://www.liferay.com/web/jonas.yuan/blog/-/blogs/6583930

我正在尝试进行LDAP身份验证,我不应该导入ldap用户密码,我也只想使用ldap作为auth源,而不是第二次使用liferay auth。

这些是我在portal-ext.properties中的设置:

ldap.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
ldap.referral=follow
ldap.base.provider.url=ldap://localhost:10389
ldap.base.dn=dc=example,dc=com
ldap.security.principal=uid=admin,ou=system
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=(mail=@email_address@)

ldap.user.mappings=screenName=cn\npassword=userPassword\nemailAddress=mail\nfirstName=givenName\nlastName=sn
ldap.user.custom.mappings=screenName=cn\npassword=userPassword\nemailAddress=mail\nfirstName=givenName\nlastName=sn
ldap.group.mappings=groupName=cn\ndescription=description\nuser=uniqueMember

ldap.import.user.search.filter=(objectClass=inetOrgPerson)
ldap.import.group.search.filter=(objectClass=groupOfUniqueNames)

ldap.password.policy.enabled=false
ldap.import.user.password.enabled=false
ldap.import.user.password.autogenerated=false
ldap.import.user.password.default=test

发生的事情是,如果我保留auth.pipeline.enable.liferay.check = false,那么即使使用test@liferay.com用户我也无法登录,因为他不在ldap(其他用户也不能由于下面问题1中给出的原因而登录)。如果我启用了该属性,那么liferay会在ldap之后进行第二次验证,并且由于密码未导入设置,因为ldap中的密码与本地虚拟密码(test)不同,所以它失败了。

另外,我有2个单独的问题。

  1. 当我使用此属性文件加载ldap道具时,只有在测试用户第一次登录并进入控制面板(ldap页面)后,我才能在portalproperties表中看到它。如果我不这样做,其他任何用户都无法执行ldap auth(因为props文件未加载到该portalproperties表中)

  2. 在liferay中有没有办法让我只能做ldap auth并且不能创建一个liferay用户

1 个答案:

答案 0 :(得分:0)

差不多两年了!!但是如果有其他人找到这个帖子,Liferay总是传递Auth管道,如果通过,它总是再次检查密码,除非

auth.pipeline.enable.liferay.check =假

在portal.properties中。在这种情况下,与Liferay User_表中存储的密码无关,将仅针对LDAP检查密码。

抱歉迟到了两年!!