Skip to content
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

Open
MiManchiL opened this issue Jul 8, 2024 · 4 comments
Open

LDAP无法登陆成功,找不到用户或者多个用户 #959

MiManchiL opened this issue Jul 8, 2024 · 4 comments

Comments

@MiManchiL
Copy link

请按照一下格式提交issue,谢谢!

  1. 你当前使用的是哪个版本的 MinDoc(godoc_linux_amd64 version)?
    v2.2-beta.1

  2. 你当前使用的是什么操作系统?
    windows 10 ltsc 2019

  3. 你是如何操作的?
    ################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

  4. 你期望得到什么结果?
    可以正常ldap登录

  5. 当前遇到的是什么结果?
    [Member.go:85] 转入LDAP登陆 -> 309
    [AccountController.go:157] 用户登录 -> LDAP用户不存在或者多于一个

@gsw945
Copy link
Member

gsw945 commented Jul 11, 2024

一般是参数不对,请使用 https://github.com/mindoc-org/ldap-debug 调试,调试完成后修改配置文件即可

@MiManchiL
Copy link
Author

一般是参数不对,请使用 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+密码认证呢?

@gsw945
Copy link
Member

gsw945 commented Jul 15, 2024

ldap-debug 中只有查询的逻辑。

mindoc 中 LDAP 登录的逻辑在这里: https://github.com/mindoc-org/mindoc/blob/master/models/Member.go#L126

@WenchaoLin
Copy link

配置文件中的 ldap_attribute= sAMAccountName 改为 ldap_account = sAMAccountName, ldap_attribute并未在代码中使用, 官方使用说明中的不太对。 使用openldap的可以用我folk后修改的版本,增加了方便调试的代码。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants