1

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

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

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

这些是我在 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 中的密码与本地虚拟密码(测试)不同,因此失败。

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

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

  2. liferay 中有没有办法让我只能做 ldap auth 而不能创建 liferay 用户

4

1 回答 1

0

迟了快两年!!但是万一其他人发现了这个线程,Liferay 总是通过 Auth Pipeline,如果通过了,总是再次对照它的数据库检查密码,除非

auth.pipeline.enable.liferay.check=false

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

抱歉迟到了两年!!

于 2014-01-31T12:32:17.533 回答