我需要使用组织 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/