【问题标题】:SVN Rights Management Tool using Windows Authentication methodSVN权限管理工具使用Windows认证方式
【发布时间】:2016-08-25 19:27:11
【问题描述】:

我们在 Windows 中使用 VisualSVN 服务器作为 SVN 服务器。但它管理权限的能力非常有限。我们也不能使用 svn_access_file 因为我们的用户将使用 Windows 身份验证方法进行身份验证。

是否有任何工具来管理使用/支持 Windows 身份验证的权限?

【问题讨论】:

  • 管理权限的能力有限?你到底想念什么?您可以随时在visualsvn.com/server 发表您的反馈意见。
  • 聘请优秀的管理员,宝贝!
  • @bahrep 例如报告能力:) 我们的项目经理需要知道哪个用户可以访问存储库的哪个部分。有像svn-access-manager.org 这样的工具,但我们想防止直接使用 php/apache/mysql :) [我们很懒,我们知道]
  • @Sadegh 您可以在 Powershell 或 VBScript 中使用 WMI 来格式化此类 访问规则 报告。创建一个新的 * 问题并指定报告工具要求,我会尽力帮助您。
  • 仅供参考:升级到 VisualSVN Server 3.4 后,您将能够使用新的 PowerShell cmdlet 来管理 Subversion 存储库访问规则。检查下面的更新答案。例如。 Get-SvnAccessRule 将输出分配给所有存储库和全局的权限列表。

标签: windows svn windows-authentication visualsvn-server authz


【解决方案1】:

2015 年 3 月 9 日更新:

现在可以通过 PowerShell 为 Subversion 存储库管理基于路径的授权规则。查看VisualSVN Server | Scripting and Automation页面。

VisualSVN Server 3.4 和更新版本为服务器和 Subversion 存储库管理提供 PowerShell cmdlet。因此,要管理访问规则并自动执行此类任务,您可以使用以下 cmdlet:

VisualSVN Server 3.4 中引入了许多其他 PowerShell cmdlet。有关 PowerShell cmdlet 和使用示例的完整列表,请阅读 文章VisualSVN Server PowerShell Cmdlet Reference


检查SVNBookVisualSVN KB article 以获取基于路径的授权的描述。这不是 Windows 访问控制,它是基于路径的授权,您应该了解其中的区别,以便正确有效地配置和管理访问规则。

事实上,我对这个问题感到困惑。 VisualSVN Server 有一个很好的 GUI 实现为 MMC 管理单元,允许您通过熟悉的 GUI 管理 svn 用户/组和访问权限。当您使用 Windows 身份验证时,您可以通过标准 Windows / Active Directory 工具管理用户和组。

【讨论】:

  • 在我看来,我们必须编写一个工具来实现诸如报告特定用户权限之类的功能;所以 WMI 是我们必须处理的选择之一。谢谢
  • @Sadegh 升级到 VisualSVN Server 3.4 并运行命令Get-SvnAccessRule -AccountName DOMAIN\username。您将获得用户DOMAIN\username 的访问规则列表。
【解决方案2】:

它管理权限的能力非常有限

它拥有 Subversion 本身拥有的所有能力。

我们不能使用 svn_access_file

你可以而且必须真的,因为 Windows Authentication 只定义了身份验证方法,svn_access_file 是 authorization 文件,可以引用和使用在身份验证阶段获得的用户名。

【讨论】:

  • 我知道 %Repositories% 目录下有 authz 文件,但不是关于 authz-windows :P 对于有限的能力,请参阅回复@bahrep 的评论