Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们希望在公司中托管我们自己的存储库。我们需要 LDAP 支持,尤其是组。所以我希望 A 组的用户不能访问 B 组的项目。如果不允许,甚至不能阅读它。
我也不想使用https。所以最好的是,如果用户登录网页(LDAP 登录)并上传他的 SSH 密钥。之后,他应该只能看到他的 LDAP 组或他所在的所有组的项目/存储库。
谢谢您的帮助!约尔格
找到了一个有用的解决方案。我使用Gitolite并编写了自己的脚本。Gitolite 允许您使用脚本向 LDAP/AD 询问组。通过这个网站,您可以创建自己的 SSH-Key 表单。要浏览存储库,您可以使用带有 gitolite 的 gitweb!除了 SSH-Key-Form 之外,我得到的一切都已启动并运行。
您可以使用 Gitolite 之类的授权层,然后可以通过LDAP 脚本获取组信息。 访问 Gitolite 管理的存储库的本地方式仍然是 SSH。
大型站点通常具有已包含用户和组信息(包括组成员身份详细信息)的 LDAP 服务器。 这样的网站可能更喜欢 gitolite 只获取该信息,而不是必须将其冗余地放入 gitolite 的配置文件中。 您只需要一个脚本,给定用户名,查询您的 LDAP 或类似服务器,并返回她所属的所有组的空格分隔列表。 如果发送了无效的用户名,或者用户有效但不属于任何组,则不应打印任何内容。
大型站点通常具有已包含用户和组信息(包括组成员身份详细信息)的 LDAP 服务器。 这样的网站可能更喜欢 gitolite 只获取该信息,而不是必须将其冗余地放入 gitolite 的配置文件中。
您只需要一个脚本,给定用户名,查询您的 LDAP 或类似服务器,并返回她所属的所有组的空格分隔列表。 如果发送了无效的用户名,或者用户有效但不属于任何组,则不应打印任何内容。