2012-09-17 45 views
0
  • 操作系統:Linux的openSUSE當中
  • 版本控制:水銀汞柱
  • Web前端:APACHE2.2

我能點擊瀏覽http:// servername:port/hg的OpenSUSE阿帕奇 - 視窗LDAP - 組用戶認證 - 水銀

只要我點擊它,它會提示我輸入Windows AD目錄憑據。

現在,我有以下的倉庫中/ SRV /網絡/ htdocs中/ HG /回購協議文件夾:以上信息庫

  • RepoProjectA
  • RepoProjectB
  • RepoProjectC

點擊鏈接是好的,因爲我能看到汞前端。

現在,我想添加身份驗證和授權,以便:

  • A)

    • 只有用戶 「c123456」, 「c654321」 可以RepoProjectA提交文件。
    • 只有用戶「c222222」和「c333333」可以推的變化並沒有其他人不能推

    針對上述情況,我需要改變哪些文件(???)和什麼樣的變化(S )/應該添加 以實現此目的。

    PS:我使用LDAP作爲使用Windows Active Directory的身份驗證。我仍然需要 使用htpasswd2或htdigest2模塊創建任何用戶文件--or授予 訪問組創建任何組文件????我想,這些組可以取自 活動目錄中已存在的內容。由於這些不同的項目 庫,我是否需要單獨的.htaccess文件?不會有一個全局文件做 的竅門嗎?

  • B)

    • 只有用戶 「u123456」 和 「u654321」 可以RepoProjectB的分支 「BRANCH1」 提交的文件。 (假設我們在RepoProjectB中有一個分支「branch1」)。
    • 只有用戶「u222222」和「u333333」可以把文件
    • 沒有人可以提交/推東西主幹/默認分支
    • 例外:從組「RepoProjectB-GROUP」或「ABCDGroup」每個人都可以做任何在 此存儲庫或它的分支機構。

針對上述情況,(???)我需要改變什麼變化率(s)哪些文件/條目應該我添加到做到這一點。

  • C)我嘗試使用CMD提示和實用TortoiseHg從我的Windows客戶機上,而 做任何操作中汞(克隆,分支,添加,提交,推等),我提示 每次提供用戶名和密碼。它的工作,但我得到提示爲Hg的每一個行動 。

    如何限制用戶每個會話僅提供一次 的Windows活動目錄憑證。

有人可以放一些燈。

回答

0

mercurial keyring的一些進展,接下來我要做的就是開始使用更細化的組,並允許/拒絕以Directory指令的方式。

更多相關的信息在:

http://stackoverflow.com/questions/14267873/mercurial-hg-no-changes-found-cant-hg-push-out/14269997#14269997 
http://www.linuxquestions.org/questions/showthread.php?p=4867412#post4867412 
http://stackoverflow.com/questions/12503421/hg-push-error-and-username-not-specified-in-hg-hgrc-keyring-will-not-be-used/14270602#14270602 
http://stackoverflow.com/questions/12468634/opensuse-apache-windows-ldap-group-user-authentication-mercurial/14270648#14270648 

如果多次提示在善變的用戶憑據。安裝Mercurial_Keyring然後

這個問題來了,沒有人用簡單的方法解釋。

??? - 如何讓

[AUTH]
xx.prefix =服務器/ hg_or_something

工作在服務器名/ HG位置的所有倉庫或者如果我使用服務器名稱,服務器名稱的IP或服務器名稱的FQDN?

答:阿倫•2分鐘前 -

OK, I put this in ~/.hgrc (Linux/Unix -home directory's .hgrc hidden file) or Windows users %UserProfile%/mercurial.ini or %HOME%/mercurial.ini file. 

[auth] 
default1.schemes = http https 
default1.prefix = hg_merc_server/hg 
default1.username = c123456 

default2.schemes = http https 
default2.prefix = hg_merc_server.company.com/hg 
default2.username = c123456 

default3.schemes = http https 
default3.prefix = 10.211.222.321/hg 
default3.username = c123456 

Now, I can checkout using either Server/IP/Server's FQDN.