[英]Git controlled access to repository
我在Apache服務器中有一個git存儲庫。 如何允許我的開發人員擁有完全訪問權限,即對存儲庫的讀寫訪問權限。 我正在Windows平台上工作。
這個想法是使用git-http-backend
exe直接從httpd Apache配置文件中調用git。
這是我在此答案中提到的智能http協議的一部分。
Env GIT_PROJECT_ROOT C:/GIT/Apache/repositories
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
ScriptAliasMatch \
"(?x)^/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
"C:/Program Files/git/libexec/git-core/git-http-backend.exe/$1"
該腳本(在任何Git發行版中)都將能夠通過http獲取git查詢並返回結果。
您可以在“ 使用git-http-backend.exe
在Windows上設置Git服務器 ”中找到完整的示例。
為了獲得更細粒度的訪問級別控制,您可以在httpd.conf
添加一個授權層,例如gitolite (gitolite如果授權git查詢,則將調用hit-http-backend)。
我將它與LDAP(用於身份驗證部分)結合使用 ,但是您不必使用LDAP,只需確保將Apache配置設置為首先對用戶進行身份驗證,以便gitolite擁有一個用戶ID使用(允許或拒絕)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.