我必须在所有集成到 AD 的应用程序中都使用 userPrincipalName 而不是默认的 sAMAccountName,因为我们的登录名超过 20 个字符,而 sAMAccountName 不支持。所以我改变了
gitlab_rails['ldap_uid'] = 'sAMAccountName'
到
gitlab_rails['ldap_uid'] = 'userPrincipalName'
在我的 /etc/gitlab/gitlab.rb 配置中。这有效,但现在我需要输入登录名和域。示例:用户登录名为“Peter”。使用 sAMAccountName,我可以通过输入“Peter”作为 Gitlab 中的用户名来登录。但由于 userPrincipalName 包含域,我现在必须输入“[电子邮件保护]“。
我希望我的用户能够轻松地只输入登录名,而无需输入 @domain。类似这样的操作,以便用户输入“Peter”并 git send "[电子邮件保护]“致 AD:
gitlab_rails['ldap_uid'] = '${gitlabUsername}@mydomain.com'
这可能吗?
答案1
在你的 gitlab.rb 中:
##
## If allow_username_or_email_login is enabled, GitLab will ignore everything
## after the first '@' in the LDAP username submitted by the user on login.
##
## Example:
## - the user enters '[email protected]' and 'p@ssw0rd' as LDAP credentials;
## - GitLab queries the LDAP server with 'jane.doe' and 'p@ssw0rd'.
##
## If you are using "uid: 'userPrincipalName'" on ActiveDirectory you need to
## disable this setting, because the userPrincipalName contains an '@'.
##
allow_username_or_email_login: false