2010-01-12 96 views
5

我發現你的文章使用Apache Auth與gitweb,gitosis。用Gitosis驗證Gitweb沒有LDAP驗證?

我想知道是否有辦法做到這一點,如果我沒有使用LDAP進行身份驗證。我們目前有一個非常大的NIS域,我們用它來在所有unix服務器上進行身份驗證。 我們通過UI使用這個爲SVN倉庫,但這種情況下,我想滿足的要求:

  • Git倉庫
  • 訪問控制 - 使用Gitolite
  • 在線UI - 使用的GitWeb
  • UI還必須有訪問控制 - 尚未實現

我想首先我需要得到的GitWeb和Gitolite一起玩,此刻每一個單獨的作品。

如果gitolite使用SSH密鑰提供了訪問,那麼它可以通過具有用於每個機器用戶/開發者將從被訪問的GitWeb/gitolite密鑰提供接入這種方式。

或者,如果我能得到的GitWeb簡單地從NIS域認證用戶,因爲每個用戶都有我們的IT部門設置,這將是更好的帳戶。

任何想法或howtos我可以用來進一步滿足這一要求?

回答

4

你鏈接的GitWeb和Gitosis的一起的方法是:

 
    use lib ("."); 
    require "gitweb.conf"; 
  • 使用您的Apache2 httpd.conf一個NIS authentication(或extra/httpd-ssl.conf如果您正在使用HTTPS)

一旦用戶通過驗證後(無論是基本的,LDAP或NIS AUTH),該$cgi->remote_user將設置和是通過(通過gitolite gitweb.conf)傳遞給管理Git訪問權限(ACL)的gitolite perl腳本的登錄名。

Git的ACL是仍然SSH密鑰管理和獨立於登錄機制,除了登錄一部分使gitolite做出正確的帳戶關聯。