1

我正在使用标准的 SVN-JIRA 预提交挂钩来强制用户在使用此 JIRA 插件时在提交时输入 JIRA 问题 ID 作为注释。它调用一个 python脚本,该脚本使用硬编码的用户名和密码登录 JIRA。这带来了两个问题:

  1. IT 安全策略是针对这个写在文件中的密码。
  2. 可以访问 SVN 但无法访问 JIRA 的用户仍然可以更新 JIRA 问题

所以我想使用提交者的凭据来登录 JIRA。

现在,您认为最好的方法是什么?我不太确定现有的访问控制机制。我们对 SVN(AIX 服务器上的 svn-acl)、Windows、JIRA 使用相同的用户名,但密码不同,所以我假设是一些 LDAP/AD 组合。

我可以很快想到两个即兴创作,尽管两者都只是 - 不是很干净/优雅:

  1. 没有其他身份验证信息传递给 SVN ,所以可能有一个 VBscript 弹出窗口(我正在使用 TortoiseSVN 客户端+Subclipse),它在提交发生时询问 JIRA 密码(您可以从 Python 脚本中自动填充“作者”。或者以某种方式启动 JIRA 登录窗口。

  2. 虚拟 SSO - 强制用户保留相同的登录密码。使用 Win/SVN 中的凭据登录 JIRA。临时搭建,因为它取决于人类行为和不同的密码策略。当因此不允许提交时,您不干净

我对 3rd 方解决方案(Fisheye ??)持开放态度,但首选是 hack/脚本。

4

2 回答 2

2

我认为您正在寻找的东西是不可能的,因为:

  1. SVN钩子脚本没有传递认证信息,所以不能使用用户+密码登录JIRA

  2. 即使您可以在 SVN 中获取用户 + 密码,似乎您正在为 SVN 使用不同的身份验证机制,SVN 中的密码在 JIRA(使用 LDAP)上不起作用

老实说,我只是不认为使用一个特殊帐户连接到 JIRA 是个问题。你的第二点实际上应该发生一些事情。只要在 SVN 中发生与 JIRA 问题相关的事情,我们就应该更新 JIRA 中的状态,无论谁提交。

如果您同意这一点,剩下的就是脚本中的纯密码。我认为有很多方法可以解决。我相信 Python 有一些神秘的库,你可以使用它们。

于 2012-12-19T06:17:00.937 回答
1

最简单的解决方案是使用Crowd对 Jira 和 Subversion 进行身份验证。如果用户在其 SVN 提交评论中引用了 Jira 问题,则该评论将添加到相关的 Jira 问题中。至于限制具有 SVN 访问权限但没有 Jira 访问权限的用户,您可以添加一个提交后挂钩来检查 Crowd 以验证用户是否具有 Jira 访问权限。我不确定为什么允许某人提交源代码但不能评论错误,但这取决于你。

于 2012-12-19T20:33:19.013 回答