【问题标题】:Setting up Apache and Subversion to use LDAP (Windows Active Directory) group authentication设置 Apache 和 Subversion 以使用 LDAP (Windows Active Directory) 组身份验证
【发布时间】:2011-08-04 21:50:16
【问题描述】:

我正在尝试为 Subversion 设置具有 LDAP 访问权限的 Apache httpd,需要一些帮助:

我想要做的是使用一个组进行访问。如果您是该组的成员,则您具有读/写访问权限。如果不是,您将无权访问。

我们的 LDAP 服务器中的组记录 (ldap://ldap.MyCompany.com/DC=MyCompany,DC=COM)

CN=SVN-GROUP,CN=Users,DC=MyCompany,DC=com

该组的成员在此记录中如下所示:

member: CN=David Weintraub,OU=Users,OU=Brooklyn,OU=Accounts,DC=MyCompany,DC=COM
member: CN=Joe Public,OU=Users,OU=Cincinnati,OU=Accounts,DC=MyCompany,DC=COM

如果您在 LDAP 中查找我的记录,您会看到:

memberOf: CN=SVN-GROUP,CN=Users,DC=MyCompany,DC=com
Name: David Weintraub
Distinguished Name: CN=David Weintraub,OU=Users,OU=Brooklyn,OU=Accounts,DC=MyCompany,DC=COM
sAMAccountName: dweintraub

我想做的是使用我的 Windows 密码以dweintraub(这是我的 Windows 帐户)身份登录。我也不想将 Windows 域指定为登录的一部分。每个人都将成为mycompany 域的一部分。

我正在尝试浏览 Apache httpd 网站,但将所有内容放在一起有点困难。

这让我想起了,谁能推荐一本好的 Apache 书?

【问题讨论】:

  • 你检查过 Subversion 中访问文件的别名定义吗? svnbook.red-bean.com/nightly/en/…(寻找[别名])
  • 这意味着每次有新员工进出时我都必须修改我的 Subversion 配置。我想将此任务交给我们的 Windows 管理员,无论如何他们都必须进行设置。每当我们有一个新员工,并且该员工是该组的成员时,他们就拥有 Subversion 访问权限。当该员工离开时,他们不再拥有 Subversion 访问权限。
  • jbruni,您能否发布一个 ldap-group DN 的示例?

标签: svn active-directory apache2 ldap apache


【解决方案1】:

如果您使用的是 Apache 2.2,这实际上非常简单。确保将 Apache 配置为同时启用 mod_ldap 和 mod_authnz_ldap。

以下是 AD ldap 身份验证和授权所需的最低要求:

<Location /path/to/repo/>
    AuthType basic
    AuthName "My Repository"
    AuthBasicProvider ldap
    AuthLDAPURL "ldap://ldap.example.com:3268/dc=example,dc=com?sAMAccountName" NONE
    AuthLDAPBindDN "DN of service account allowed to search"
    AuthLDAPBindPassword "Password of service account allowed to search"
    Require ldap-group DN of group allowed access to repo
</Location>

对于 ldap-group,不要用引号将 DN 括起来。通过指定端口 3268,您将连接到全局编录。我发现这会更好,因为 Apache 不会获得大量推荐。

【讨论】:

  • 感谢您的帮助。我还没有时间尝试,但我可以看到我做错了什么。我的 AuthLDAPURL 末尾没有那个 ?sAMAccountName。有没有关于 Apache httpd 的好书?
  • 我将从 O'Reilly 的书籍开始。他们总是很好。不幸的是,权威指南(第 3 版)似乎基于 apache 2.0。应该足以让您入门。
  • 除了 require-group 部分外,一切都对我有效,我还使用 mod_dav_svn 和文件作为提供者,svn 访问文件允许我为某些用户设置只读目录,我想确保我的整个 repo 仅适用于一个 AD 组,无法使该部分工作
猜你喜欢
  • 2012-09-02
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多