我有一個Gitlab服務器安裝在某處,我試圖讓它爲我的AD用戶工作。我有以下配置:Gitlab LDAP身份驗證
label: 'LDAP'
host: 'myserver.com'
port: 389
#uid: ''
method: 'plain' # "tls" or "ssl" or "plain"
bind_dn: ''
#password: ''
active_directory: true
allow_username_or_email_login: true
block_auto_created_users: false
base: ''
user_filter: ''
## EE only
group_base: ''
admin_group: ''
sync_ssh_keys: false
但我不能提供設置登錄。
我不是很熟悉,LDAP設置,但是這是在PHP代碼是用來登錄到我們的內部系統和完美的作品:
$ldap = ldap_connect("ldap://myserver.com/");
if(!ldap_bind($ldap, "DOMAIN\\$username", $password)) {
echo "Authentication Error";
} else {
echo "OK";
}
我以爲我不知道在哪裏把DOMAIN
放在Gitlab配置中。
我已經通過問題和Google搜索了一下,沒有任何工作。
我也嘗試使用username
和DOMAIN\username
和[email protected]
和[email protected]
登錄,但沒有工作。在日誌
對於一些配置(我不記得到底是什麼,但我會找到它,如果它是必要的),我得到以下錯誤:
ArgumentError (uid or filter MUST be provided):
編輯:
這是我的配置如何看起來像現在,仍然無法正常工作。
label: 'LDAP'
host: 'myserver.com'
port: 389
uid: 'sAMAccountName'
method: 'plain' # "tls" or "ssl" or "plain"
bind_dn: 'CN=gitldap,CN=Users,DC=myserver,DC=com'
password: 'thepassword'
active_directory: true
allow_username_or_email_login: true
#block_auto_created_users: false
base: 'ou=MyServer,dc=myserver,dc=com'
#user_filter: ''
### EE only
#group_base: ''
#admin_group: ''
#sync_ssh_keys: false
而對於一個參考,這是一個SVN服務器如何使用我們的廣告:
SVNParentPath /var/svn
SSLRequireSSL
AuthType Basic
AuthName "MyServer Source Control System"
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthLDAPBindDN "CN=svnldap,CN=Users,DC=myserver,DC=com"
AuthLDAPBindPassword 'thepassword'
AuthLDAPURL "ldap://dc-2.myserver.com:389/ou=MyServer,dc=myserver,dc=com?sAMAccountName" NONE
AuthzSVNAccessFile /etc/svn/dav_svn.authz
Require valid-user
我不得不提到myserver.com
和dc-2.myserver.com
決心同一臺機器。
是'gitldap'授權讀取的LDAP目錄林中的帳戶,以其「'thepassword'」帳戶? – VonC
我這麼認爲。我告訴支持人員創建一個類似'svnldap'的帳戶。我怎麼能檢查,就像'ldapsearch'一樣? – vfsoraki
我寧願使用ldapbind(http://docs.oracle.com/cd/B14099_19/idmanage.1012/b15883/syntax_datamngmnt007.htm)。請參閱http://superuser.com/a/708701/141 – VonC