OpenSUSE Apache – Windows LDAP – 组用户身份validation – Mercurial

  • 操作系统:OpenSUSE Linux
  • 版本控制:Mercurial Hg
  • Web Front:Apache2.2

我可以点击浏览http:// servername:port / hg

只要我点击它,它会提示我inputWindows AD目录凭据。

现在,我在/ srv / www / htdocs / hg / repos文件夹中有以下储存库:

  • RepoProjectA
  • RepoProjectB
  • RepoProjectC

点击上面的存储库链接是好的,因为我能够看到汞前端。

现在,我想添加身份validation和授权,以便:

  • 一个)

    • 只有用户“c123456”,“c654321”才能在RepoProjectA中提交文件。
    • 只有用户“c222222”和“c333333”才能推送更改,其他人不能推送

    对于上述情况,我需要更改哪些文件(???)以及应该添加哪些更改/input来实现此目的。

    PS:我使用LDAP作为使用Windows Active Directory的身份validation。 我仍然需要使用htpasswd2或htdigest2模块来创build任何用户文件 – 或授予访问权限组创build任何组文件? 我想,这些组可以从Active Directory中已经存在的组中获取。 由于这些是不同的项目存储库,我需要单独的.htaccess文件吗? 不会有一个全局文件的伎俩?

  • B)

    • 只有用户“u123456”和“u654321”才能提交RepoProjectB的分支“branch1”上的文件。 (假设我们在RepoProjectB中有一个分支“branch1”)。
    • 只有用户“u222222”和“u333333”才能推送文件
    • 没有人可以在TRUNK /默认分支上提交/推送任何东西
    • 例外:来自组“RepoProjectB-GROUP”或“ABCDGroup”的每个人都可以在这个仓库或者分支中做任何事情。

对于上述情况,我需要更改哪些文件(???)以及应该添加哪些更改/input来实现此目的。

  • C)我尝试从我的Windows客户端机器上使用CMD提示符和实用程序TortoiseHg,同时在Hg(克隆,分支,添加,提交,推等等)中进行任何操作时,我提示每次提供用户名和密码。 它正在工作,但我正在迅速采取汞的每一个行动。

    我怎样才能限制让用户每个会话只提供一次Windows Active Directory凭证。

有人可以放一些灯吗?

一些关于mercurial keyring事情的进展,接下来我要做的是开始使用更多的粒度组,并允许/拒绝目录指令的方式。

更多相关信息在:

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中多次提示用户凭据。 安装Mercurial_Keyring然后

这个问题来了,没有人用简单的方法解释。

??? – 怎么做

[验证]
xx.prefix = servername / hg_or_something

如果我使用服务器名称,服务器名称的IP或服务器名称的FQDN,请在servername / hg位置下工作所有存储库?

答:Arun•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.