Svn

使用 LDAP 和 Active Directory 進行 SVN 身份驗證

  • September 24, 2012

我在讓 SVN 身份驗證與 LDAP / Active Directory 一起使用時遇到了一些問題。我的 SVN 安裝工作正常,但是在我的 apache vhost 中啟用 LDAP 後,我無法讓我的使用者進行身份驗證。

我可以使用一系列 LDAP 瀏覽器成功連接到 Active Directory,但似乎無法正常工作。

  • SVN 設置在 /var/local/svn
  • 伺服器是 svn.domain.local
  • 對於測試,我的儲存庫是 /var/local/svn/test

我的虛擬主機文件如下:

<VirtualHost *:80>
       ServerAdmin alex@domain.com
       ServerAlias svn.domain.local
       ServerName svn.domain.local
       DocumentRoot /var/www/svn/

       <Location /test>
               DAV svn
               #SVNListParentPath On
               SVNPath /var/local/svn/test
               AuthzSVNAccessFile /var/local/svn/svnaccess
               AuthzLDAPAuthoritative off
               AuthType Basic
               AuthName "SVN Server"
               AuthBasicProvider ldap
               AuthLDAPBindDN "CN=adminuser,OU=SBSAdmin Users,OU=Users,OU=MyBusiness,DC=domain,DC=local"
               AuthLDAPBindPassword "admin password"
               AuthLDAPURL "ldap://192.168.1.6:389/OU=SBSUsers,OU=Users,OU=MyBusiness,DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)"
               Require valid-user
       </Location>

       CustomLog /var/log/apache2/svn/access.log combined
       ErrorLog /var/log/apache2/svn/error.log
</VirtualHost>

在我的 error.log 中,我似乎沒有收到任何綁定錯誤(我應該在別處尋找嗎?),但只有以下內容:

[Thu Jun 21 09:51:38 2012] [error] [client 192.168.1.142] user alex: authentication failure for "/test/": Password Mismatch, referer: http://svn.domain.local/test/

在“AuthLDAPURL”的結尾,我看到有人使用 TLS 和 NONE,但在我的情況下似乎都沒有幫助。

我已經載入了 ldap 模組並且已經檢查了我所知道的,所以任何幫助都是非常受歡迎的。謝謝

REFERRALS off在伺服器中設置/etc/ldap/ldap.conf並重試。

並嘗試將“NONE”添加到 URL 行:

AuthLDAPURL "ldap://192.168.1.6:389/OU=SBSUsers,OU=Users,OU=MyBusiness,DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE

試試 ldapsearch。在您.ldaprc的主目錄中執行以下操作:

HOST 192.168.1.6
BASE DC=domain,DC=local
BINDDN CN=adminuser,OU=SBSAdmin Users,OU=Users,OU=MyBusiness,DC=domain,DC=local

用它:

ldapsearch -D "CN=adminuser,OU=SBSAdmin Users,OU=Users,OU=MyBusiness,DC=domain,DC=local" -W sAMAccountName=user

它將詢問 BindDN 密碼。

引用自:https://serverfault.com/questions/431290