Liferay Ldap用户身份验证错误

时间:2014-11-12 09:11:52

标签: authentication liferay openldap

我尝试从Ldap服务器验证用户。

这是我的Ldap用户:

LDAP

我的管理员的路径是cn = admin,dc = ldap,dc = agem,dc = com

这是我的liferay身份验证设置:

enter image description here

enter image description here

enter image description here

我可以连接到我的ldap服务器,我可以通过测试操作从ldap获取用户。同时重启liferay几次,ldap中的用户被复制到liferay,我可以在用户下看到这些。 但是我无法使用此用户登录liferay。我收到的错误如下:

08:32:56,457 ERROR [http-bio-8180-exec-3][LDAPAuth:341] Problem accessing LDAP server com.liferay.portal.kernel.ldap.LDAPFilterException: Invalid filter cn=agem,cn=admin,dc=ldap,dc=agem,dc=com at com.liferay.portal.kernel.ldap.LDAPUtil.validateFilter(LDAPUtil.java:285)

我缺少什么?

2 个答案:

答案 0 :(得分:1)

检查提供异常的Liferay代码(LDAPUtil.validateFilter),您可以看到以下代码:

                if (!filter.startsWith(StringPool.OPEN_PARENTHESIS) ||
                       !filter.endsWith(StringPool.CLOSE_PARENTHESIS)) {

                        return false;
                }

因此,您遇到的问题是,身份验证过滤器需要以括号开头和结尾,您的过滤器以cn = ...开头。此外,Liferay从基本DN开始用户搜索,因此您应该只在身份验证过滤器中输入以下内容:(cn = @ screen_name @),而不是完整的DN

答案 1 :(得分:0)

您的身份验证过滤器应该有点像这样

(&(objectCategory=inetOrgPerson)(cn=@screen_name@))

HTH

相关问题