-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LDAP无法登陆成功,找不到用户或者多个用户 #959
Comments
一般是参数不对,请使用 https://github.com/mindoc-org/ldap-debug 调试,调试完成后修改配置文件即可 |
使用ldap-debug调试是OK的,但是在线上是NG的,debug时只有filter有不一样,做了sAMAccountName的筛选,也就是针对某个账号做筛选,不做的话会导致超size,然后在线上的话,ldap_filter=objectClass=User是这个,后面在调试过程发现个新提示【自动注册LDAP用户错误 账号只能由英文字母数字组成, 且在3-50个字符】,这个是用邮箱去作为登录名的出现提示,那邮箱有@mail.com,没有这个又是之前的报错,是否有地方,将账号改为sAMAccountName+密码认证呢? |
ldap-debug 中只有查询的逻辑。 mindoc 中 LDAP 登录的逻辑在这里: https://github.com/mindoc-org/mindoc/blob/master/models/Member.go#L126 。 |
配置文件中的 ldap_attribute= sAMAccountName 改为 ldap_account = sAMAccountName, ldap_attribute并未在代码中使用, 官方使用说明中的不太对。 使用openldap的可以用我folk后修改的版本,增加了方便调试的代码。 |
请按照一下格式提交issue,谢谢!
你当前使用的是哪个版本的 MinDoc(
godoc_linux_amd64 version
)?v2.2-beta.1
你当前使用的是什么操作系统?
windows 10 ltsc 2019
你是如何操作的?
################Active Directory/LDAP################
#是否启用ldap
ldap_enable=true
#ldap协议(ldap/ldaps)
ldap_scheme=ldap
#ldap主机名
ldap_host=127.0.0.1
#ldap端口
ldap_port=389
#ldap内哪个属性作为用户名
ldap_attribute=sAMAccountName
#ldap内哪个属性作为邮箱
ldap_mail=mail
#搜索范围
ldap_base=DC=yk,DC=com
#第一次绑定ldap用户dn
ldap_user=CN=admin,CN=Users,DC=yk,DC=com
#第一次绑定ldap用户密码
ldap_password=admin
#自动注册用户角色:0 超级管理员 /1 管理员/ 2 普通用户
ldap_user_role=2
#ldap搜索filter规则,AD服务器: objectClass=User, openldap服务器: objectClass=posixAccount ,也可以定义为其他属性,如: title=mindoc
ldap_filter=objectClass=User
你期望得到什么结果?
可以正常ldap登录
当前遇到的是什么结果?
[Member.go:85] 转入LDAP登陆 -> 309
[AccountController.go:157] 用户登录 -> LDAP用户不存在或者多于一个
The text was updated successfully, but these errors were encountered: