Gogs里面使用ldap认证,不懂介绍。


#1

有没有配置教程之类的,或者官方文档。我配置完成后没有任何反应。
gogs版本:0.11.34.1122


#2

这个大概是仅有的介绍了。。。https://gogs.io/docs/features/authentication 建议开始 Trace 级别日志,可以看到一些过程信息日志


#3

如果没有反应的话 要先确定这个ldap的配置参数是否是可以work的

首先可以登录到gogs的服务器上 然后使用ldapsearch 验证一下命令行是否可以使用你的参数成功连接

ldap的问题比较复杂 我之前也碰到过 后面自己解决了建议把你的配置贴出来,敏感信息打码~我贴一下我的 供你参考 :slight_smile:

company domain是global.corp.example的话 对应如下。
定义:

  • Security Protocol: Unencrypted
  • Host: xx.xx.xx.xx
  • Port: 389
  • Bind DN: **@global.corp.example
  • Bing Password: *****
  • User Search Base: DC=global,DC=corp,DC=example
  • User Filter: (|(sAMAccountName=%s)(mail=%s))
  • AdminFilter(memberOf=CN=xxx,OU=DL,OU=MSX,OU=Resources,DC=global,DC=corp,DC=example)
  • Username attribute: uid
  • Firstname Attribute: givenName
  • Surname Attribute: sn
  • Email Attribute: mail

特别注意:
Admin Filter不能直接填email 要用下面的定义来定位到唯一的admin 账号。。


#4

谢谢,我现在已经调通了,目前遇到了认证问题。gogs不能识别ldap的中文ou。我在使用英文ou的时候,是可以认证通过的。请问有办法解决吗
2018/09/17 11:29:17 [TRACE] Session ID: 2df91ac74952da1f
2018/09/17 11:29:17 [TRACE] CSRF Token: rNt89jIqDUoG7S7IFobPe09QwbU6MTUzNzE1NDkwMjM4MjY0NDY4Mg==
2018/09/17 11:29:17 [TRACE] Template: user/auth/login
2018/09/17 11:29:18 [TRACE] Session ID: 2df91ac74952da1f
2018/09/17 11:29:18 [TRACE] CSRF Token: rNt89jIqDUoG7S7IFobPe09QwbU6MTUzNzE1NDkwMjM4MjY0NDY4Mg==
2018/09/17 11:29:18 [TRACE] LDAP: Dialing with security protocol ‘0’ without verifying: false
2018/09/17 11:29:18 [TRACE] LDAP will use BindDN
2018/09/17 11:29:18 [TRACE] Search for LDAP user: henry.shen
2018/09/17 11:29:18 [TRACE] LDAP: Bound as BindDN: cn=admin,dc=cloudwise,dc=com
2018/09/17 11:29:18 [TRACE] LDAP: Searching for DN using filter ‘(cn=henry.shen)’ and base ‘ou=cloudwise,dc=cloudwise,dc=com’
2018/09/17 11:29:18 [TRACE] Binding with userDN: cn=henry.shen,ou=运维部,ou=开发部,ou=产品研发,ou=cloudwise,dc=cloudwise,dc=com
2018/09/17 11:29:18 [TRACE] Bound successfully with userDN: cn=henry.shen,ou=运维部,ou=开发部,ou=产品研发,ou=cloudwise,dc=cloudwise,dc=com
2018/09/17 11:29:18 [TRACE] Fetching attributes ‘’, ‘’, ‘’, ‘mail’, ‘’ with filter ‘(cn=henry.shen)’ and base ‘cn=henry.shen,ou=运维部,ou=开发部,ou=产品研发,ou=cloudwise,dc=cloudwise,dc=com’
2018/09/17 11:29:18 [ERROR] […kg/auth/ldap/ldap.go:235 SearchEntry()] LDAP: User search failed: LDAP Result Code 50 “Insufficient Access Rights”:
2018/09/17 11:29:18 [TRACE] Template: user/auth/login
^C
非常感谢。


#5

gogs 支持中文的ldap ou吗


#6

这我还真不知道…但是好像有人试过俄语可以


#7

It seems a UTF8 issue for LDAP lib which looks not related to Gogs, you can try translate those Chinese characters to UTF-8 and try again.

Not sure why I got “body-seems-unclear-is-it-a-complete-sentence” with Chinese typing here.


#8

gogs里面在哪里可以设置字符,这个翻译的动作是我再ldap那里设置。还是gogs。


#9

应该就是 URL encoding 之类的估计


#10

直接自己翻译。。。