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

时间:2014-09-30 07:59:56

标签: c# asp.net iis tfs

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

1 个答案:

答案 0 :(得分:0)

您正在遇到标准的活动目录双跃点身份验证问题。

您有两种选择:

  1. 用户名&amp;密码 - 如果您要求用户实际输入用户名和密码,您可以进行身份​​验证。
  2. Kerberos - 如果启用并配置Kerberos,则可以启用直通身份验证。您需要正确配置的SPN:http://blogs.technet.com/b/askds/archive/2008/06/13/understanding-kerberos-double-hop.aspx
  3. 我会选择kerberos代币。这是一个痛苦的配置,但工作的一种享受。您唯一的另一种选择是在TFS服务器上运行您的Web应用程序并绕过双跃点。