0

我正在尝试在本地类型集群上使用 openldap 身份验证设置 gitea。我能够启动这两个服务并为两者打开 web ui。但我被困在试图整合它们。我最初遇到 err=49 是由不正确的绑定帐户凭据引起的。现在我觉得我的一切都是正确的,但是user does not exist无论我尝试什么,它总是会出现错误。

我可以使用 openldap phpadmin 上的用户登录。

向主机或绑定添加随机字符会产生不同的错误,所以我认为这是正确的。

我已经尝试过使用不同的 userFilter 值sAMAccountName=%scn=*但是我对 ldap 的了解还不够,无法真正知道该值应该是什么。我尝试过的所有价值观都没有奏效。

登录openldap:

openldap 错误

gitea中的错误:

gitea中的登录错误

openldap 配置:

  customLdifFiles:
    01-initial.ldif: |-
      dn: ou=groups,dc=archbox
      objectclass: organizationalUnit
      objectclass: top
      ou: groups
      
      dn: cn=admins,ou=groups,dc=archbox
      cn: admins
      gidnumber: 500
      memberuid: tuser
      objectclass: posixGroup
      objectclass: top
      
      dn: cn=users,ou=groups,dc=archbox
      cn: users
      gidnumber: 501
      objectclass: posixGroup
      objectclass: top
      
      dn: ou=users,dc=archbox
      objectclass: organizationalUnit
      objectclass: top
      ou: users
      
      dn: cn=test,ou=users,dc=archbox
      cn: test
      gidnumber: 500
      givenname: test
      homedirectory: /home/users/tuser
      loginshell: /bin/bash
      objectclass: inetOrgPerson
      objectclass: posixAccount
      objectclass: top
      sn: user
      uid: tuser
      uidnumber: 1000
      userpassword: {MD5}WcTy5IxPSAXRNZlv17HWwg==

      dn: cn=gitea gitea,ou=users,dc=archbox
      cn: gitea gitea
      gidnumber: 501
      givenname: gitea
      homedirectory: /home/users/ggitea
      objectclass: inetOrgPerson
      objectclass: posixAccount
      objectclass: top
      sn: gitea
      uid: ggitea
      uidnumber: 1001
      userpassword: {MD5}WcTy5IxPSAXRNZlv17HWwg==
  env:
    LDAP_ORGANISATION: "ArchBox"
    LDAP_DOMAIN: "archbox"
    LDAP_BASE_DN: "dc=archbox"
  adminPassword: adminadmin
  configPassword: configconfig
  replicaCount: 1
  phpldapadmin:
    ingress:
      enabled: true
      path: /
      hosts:
      - ldapadmin.archbox

gitea配置:

  gitea:
    ldap:
      enabled: true
      name: "archldap"
      securityProtocol: unencrypted
      host: "openldap-openldap-stack-ha.default"
      port: "389"
      userSearchBase: ou=users,dc=archbox
      userFilter: cn=%s 
      adminFilter: cn=admin,ou=groups,dc=archbox
      emailAttribute: mail
      bindDn: cn=gitea gitea,ou=users,dc=archbox
      bindPassword: giteagitea
      usernameAttribute: cn
4

1 回答 1

0

日志级别“调试”显示,(在我的情况下)ldap 用户过滤器被破坏了。我正在使用(objectClass=<MyCustomClass>). 用户过滤器必须包含替换用户名的 %s。在您的情况下,您的用户过滤器缺少外括号。

我希望我能够帮助您或任何其他遇到这种行为的人。

最好的,Rincewind

于 2021-12-15T15:10:38.300 回答