2013-02-28 61 views
0

我想在Mac OS 10.6.8服務器上實現基於路徑的SVN訪問。一切正常,如果我使用htpasswd跟蹤帳戶。但我想與開放目錄集成,以便團隊成員可以輕鬆更改密碼。然而,mod_auth_apple似乎並沒有公開自己作爲一個authn提供,所以authz_svn不會提取它可以用它進行身份驗證(我在apache日誌中發現錯誤,提示「沒有配置Authn提供程序」。)。獲取authz_svn的工作Apache的Mac OS X服務器

我知道Open Directory可以通過ldap獲得,但mod_authn_ldap沒有附帶在Mac OS X服務器上安裝的股票Apache版本。我假設如果authz_svn包含在股票發行版中,有一些方法可以實現這一點(但我可能會給蘋果太多的信用)。有沒有人得到這個worrking,而不必使用Apache的定製版本?

回答

0

找到了如何做到這一點後幾天瞎猜。我添加了authn_file模塊,然後還添加了AuthBasicAuthoritative off。這似乎仍然強制使用mod_auth_apple進行身份驗證,但在未指定AuthUserFile時不會失敗。它還將身份驗證信息傳遞給authz_svn,以便它可以正確檢查訪問控制。我希望對apache更熟悉的人可以正確解釋爲什麼會這樣。

所以我的位置指令,現在看起來像

<Location "/"> 
    Options All -Includes -ExecCGI -Indexes +MultiViews 
    <IfModule mod_dav.c> 
     DAV svn 
     SVNPath /Users/path/to/repo 
    </IfModule> 
    AllowOverride None 
    AuthName "Svn Repo" 
    AuthType Basic 
    AuthzSVNAccessFile /Users/path/to/access/file.txt 
    AuthBasicAuthoritative Off 
    Require valid-user 
</Location> 

煩人,我必須添加AuthBasicAuthoritative關閉任何其他網站我的服務器主機。