【问题标题】:Git Smart HTTP - User Authentication for certain repositoriesGit Smart HTTP - 某些存储库的用户身份验证
【发布时间】:2011-01-16 17:02:10
【问题描述】:

我想知道您如何在 git repos 之间进行智能 http 身份验证。

例如,我的所有存储库都位于/repos/,但是,我只想将“John Doe”分配给其中两个。另一个我希望“Jane Doe”访问;但是,我不希望其中任何一个能够访问彼此的存储库。

顺便说一句: 我确实有用户身份验证通常与 http auth 一起工作,它是分离的 priv。对于某些用户,我真正追求的是。

【问题讨论】:

  • 您需要http,还是(受限)ssh 访问就足够了?
  • 我更喜欢http,之前走的是ssh路线。
  • 显然 gitolite 现在支持智能 HTTP:github.com/sitaramc/gitolite/blob/pu/doc/http-backend.mkd - 不过,我不确定它的细粒度访问控制是否也扩展到智能 HTTP。
  • 我会调查他们是如何做到这一点的 - 并发布我的发现。

标签: git authentication version-control smart-http


【解决方案1】:

使用 http 作为传输,您可以使用WebDAV。官方howto是here,但是网上教程比比皆是。

【讨论】:

  • 我正在使用智能 http,因此我不必使用 WebDAV。
【解决方案2】:

我与https://github.com/sitaramc/gitolite 的开发者交谈,他为我指明了方向:

简而言之,您需要一个“迷你 gitolite”吗? (1)按照我的手册页所说的方式设置它,而不是使用 gl-auth-command 使用你的脚本 (2) 你的脚本应该做/处理以下事情: - 它应该从 $REMOTE_USER 获取经过身份验证的用户名 - 它应该查看 PATH_INFO、REQUEST_URI 等,以找出 他想访问什么仓库以及他想读还是写 (您可以在我的代码中看到模拟 ssh_connection() 中的代码 那) - 然后使用您想要决定是否应该允许或 拒绝请求 如果你允许,你必须“执行”原始的 git-http-backend。

【讨论】:

    猜你喜欢
    • 2020-10-19
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    • 2023-03-15
    • 2012-01-25
    • 1970-01-01
    • 2018-10-11
    相关资源
    最近更新 更多