Excel链接到强制重新身份验证的JIRA问题

时间:2015-08-04 22:13:16

标签: excel jira excel-2013

情况

尝试从Excel 2013启动JIRA问题超链接会将用户驱动到JIRA的登录页面,这是一个意外的用户具有活动登录会话。

示例链接格式 - &gt; https://<subdomain>.atlassian.net/browse/<proj-#>

即使用户第一次登录,选中“保持登录状态”复选框,用户仍然必须在下次选择Excel的JIRA链接时重复此操作。

网址附加参数&permission-violation=true

尝试调试

  1. 将链接复制到剪贴板并直接粘贴到浏览器URL栏中。此方法不会生成权限违规。用户无需再次登录即可直接发出问题。
  2. 尝试使用其他Office 2013应用程序中的链接。使用MS Outlook 2013电子邮件中的相同链接不会生成权限违规。
  3. 浏览JIRA管理页面以获取解决方案。找不到任何此类配置选项。
  4. 经过测试,将Firefox和Chrome设置为默认浏览器。问题依然存在。
  5. 有任何解决此问题的建议吗?这种行为对我们的最终用户来说非常令人沮丧。

4 个答案:

答案 0 :(得分:1)

问题

根据StackOverflow用户myroslav,某些版本的Excel首先尝试使用不知道您的浏览器cookie(即您的登录会话)的Microsoft DLL来获取网页。这是他回答的摘录:

  

如果会话cookie保护网站Hlink自然被重定向   登录页面,并已达到HTML页面,无法   &#34;明白&#34;它在外部浏览器中打开它。请注意,它不会打开   原始URL(预期行为)但重定向的结果,即使   它是302重定向。

他的完整答案可以阅读here

解决方案

目前,微软已经建议拥有Atlassian等单点登录网站的公司address the issue on their end。这样的修复是low on Atlassian's priority list。与此同时,我们要么接受Microsoft的解决方案 - 修改注册表as myroslav instructs并接受Excel功能丢失 - 或将我们的URL修改为不需要单点登录的内容用户验证。

解决方法

我正在使用Excel 2016和Chrome。 Taliesin's workaround,在本页的其他地方,对我不起作用,但可能对某些人有用。这是 工作的下一个最佳解决方法:

HYPERLINK("https://<subdomain>.atlassian.net/issues/?jql=id%20in%20("&<cell>&")", "link")

<subdomain>替换为您的Atlassian子域,将<cell>替换为包含您的JIRA问题密钥的单元格。

此网址变体会针对与给定密钥匹配的问题打开搜索查询。它并没有直接引导您解决问题,但它至少提供了一个方便的链接,可以让您到达目的地,这至少比在登录页面上再次输入凭据更好

答案 1 :(得分:0)

尝试重新启动浏览器并选择“让我登录

”登录JIRA

答案 2 :(得分:0)

似乎解决了这个问题:https://www.redmine.org/boards/1/topics/14287?r=40540

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \“您的办公室版本”\ Common \ Internet] “ForceShellExecute”= DWORD:00000001

答案 3 :(得分:0)

解决方法

确定。所以我发现了一种解决方法。请注意,这将通过利用JIRA自己的链接纠正行为以间接方式纠正问题。从本质上讲,您可以通过向JIRA提供结构不正确的URL来绕过安全问题。然后,JIRA将修复URL并将您重定向到正确的页面。

以下是结构https://<subdomain>.atlassian.net/browse/<proj-#> + /

请注意最后的 正斜杠 。这不属于URL构造,但在使用时将建立重定向,从而绕过安全违规。

如果您已经在JIRA文件中拥有超链接,则可以使用这个简单的VBA代码子例程轻松地批量更新这些超链接。

Sub AppendJiraLinks()

Dim c As Range
Dim i As Integer

For Each c In Selection.Cells

    If c.Hyperlinks.Count >= 1 Then
        For i = 1 To c.Hyperlinks.Count
            c.Hyperlinks(i).Address = c.Hyperlinks(i).Address & "/"
        Next i
    End If

Next c

End Sub

请注意,此代码可以增强,但可以正常使用。