【问题标题】:TFS API TF30063: You are not authorized to access http://TFS API TF30063:您无权访问 http://
【发布时间】:2014-11-24 18:37:54
【问题描述】:

我在 IIS 上有一个使用 Windows 身份验证(通过)的 asp.net 站点,我正在尝试以编程方式连接到 TFS API。

当我在我的开发机器上运行它时,一切都很好,但是一旦网站在 IIS 上,我就会不断收到{"TF30063: You are not authorized to access http://mytfsserver."}

我已经调试了实时站点,它似乎总是将用户作为“NT SYSTEM”而不是实际登录的用户。

如果我将我的帐户详细信息放入应用程序池,它会按预期工作。 关于如何绕过这个的任何想法?

失败的代码:

Uri collectionUri = new Uri(rootWebConfig.AppSettings.Settings["TFS_TEST_URI"].Value); //TEST ENV  
tpc = new TfsTeamProjectCollection(collectionUri, CredentialCache.DefaultNetworkCredentials);
tpc.Authenticate();
workItemStore = tpc.GetService<WorkItemStore>();

【问题讨论】:

    标签: c# asp.net iis tfs


    【解决方案1】:

    您遇到了标准的 Active Directory 双跳身份验证问题。

    你有两个选择:

    1. 用户名和密码 - 如果您要求用户亲自输入他们的用户名和密码,您可以作为他们进行身份验证。
    2. Kerberos - 如果启用和配置 Kerberos,则可以启用直通身份验证。您需要正确配置的 SPN:http://blogs.technet.com/b/askds/archive/2008/06/13/understanding-kerberos-double-hop.aspx

    我会使用 kerberos 令牌。配置起来很痛苦,但很管用。您唯一的其他选择是在 TFS 服务器上运行您的 Web 应用程序并绕过双跳。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-04
      • 2017-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      • 2019-10-28
      相关资源
      最近更新 更多