java - Liferay 门户的 LDAP 配置不起作用

标签 java liferay liferay-6

我需要使用组织 LDAP 配置 Liferay。

我的要求是按需(登录时)将用户导入到Liferay数据库。

当我尝试使用映射到 LDAP 中 sAMAccountNumber 的屏幕名称登录时,我得到

authentication failure error

我也没有看到任何用户导入到数据库中。

经过大量调试后,LDAP 连接看起来已成功完成。但 LDAP 没有返回任何结果。

我在日志中看到类似的内容。

<小时/>

Search filter before transformation (sAMAccountName=@screen_name‌​@)
Search filter after transformation (sAMAccountName=@screen_name‌​@)

<小时/>

我不确定为什么它在末尾附加垃圾字符。

应该是这样

"sAMAccountName=@screen_name@ "

任何快速提示都会很有帮助。

谢谢!

最佳答案

经过大量调试和服务器重新启动后,我终于知道了这个问题。希望它对其他人有帮助。

如我的问题所示,身份验证搜索过滤器中附加了一些垃圾字符,这就是它没有用我在登录屏幕上输入的实际值替换 SAMAccountNamr 的原因。

这些垃圾字符在我使用的文本编辑器中不可见,因此人眼不可见。

只有当我将文本编辑器编码更改为 ANSI 时,我才能看到这些垃圾字符。我真的不知道字符编码是如何工作的,我尝试了一下只是想文本编辑器是否隐藏了某些东西。我从教程之一(即网页)复制了该字符串,这可能是附加这些垃圾字符的原因。

删除它们后一切都很好。感谢 Pavel 在调试过程中提供的建议。

关于java - Liferay 门户的 LDAP 配置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23478461/

相关文章:

liferay - 如何获得Liferay主题中的角色?

web-services - 如何在其他应用程序中从 Liferay 获取所有用户和角色信息?

Liferay 聚类

liferay - 从 Configuration.jsp 调用 Action-Class

java - JVM 是否在达到其 -Xmx 限制时强制进行垃圾回收?

java - 无法在 Java 中导入 Jersey

java - 连接到本地 Web 服务的 Android 模拟器

java - org.slf4j.helpers.SubstituteLogger 无法转换为 ch.qos.logback.classic.Logger

search - 如何隐藏在 liferay 搜索容器中显示结果文本?

mysql - 如何访问和查看 Liferay