捕获凭据并使用登录JIRA

时间:2012-12-19 06:07:35

标签: svn authentication scripting hook jira

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

  1. IT安全策略违反了在文件中写入的密码。
  2. 有权访问SVN但无法访问JIRA的用户仍可以更新JIRA问题
  3. 所以我想使用提交者的凭据登录JIRA。

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

    我能想到的两种即兴创作,虽然两者都是那样 - 不是很干净/优雅:

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

    2. 虚拟SSO - 强制用户为登录保留相同的密码。使用Win / SVN中的信用卡登录JIRA。 Makeshift,因为它取决于人类行为和不同的密码策略。由于这一点不允许提交,你不干净

    3. 我对第三方解决方案(Fisheye ??)持开放态度,但首选的是黑客/脚本。

2 个答案:

答案 0 :(得分:2)

我认为你所寻找的东西不可能,因为:

  1. 没有将身份验证信息传递给SVN钩子脚本,因此您无法使用用户+密码登录JIRA

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

    < / LI>

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

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

答案 1 :(得分:1)

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