2012-09-17 44 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.