TFS API TF30063:您无权访问http://

本文关键字:访问 http API TF30063 TFS | 更新日期: 2023-09-27 18:25:06

我在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>();

TFS API TF30063:您无权访问http://

您遇到了一个标准的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应用程序,并绕过双跳。