TFS API 中的 EnsureAuthenticated 如何工作?

How does the EnsureAuthenticated in the TFS API Work?

我正在开发一个使用 TFS 的 Web 应用程序 API,我想确保使用它的任何用户都具有使用 TFS 的正确身份验证。

为此,我使用以下代码:

TfsTeamProjectCollection teamProjectCollection = configServer.GetTeamProjectCollection(collectionId);
teamProjectCollection.EnsureAuthenticated;

我打算在 IIS 上托管网站。

当用户使用网络应用程序时,EnsureAuthenticated 会使用他们的凭据,还是会使用我托管应用程序的远程桌面的凭据?

视情况而定。

如果您已将 ASP.NEt 配置为使用模拟,它将使用已登录用户的帐户。

如果 ASP.NET 配置为默认设置,则可能会发生许多事情

  • 如果凭据管理器中存储了凭据,它将使用该凭据
  • 如果应用程序池 运行 在真实帐户下,它将尝试这样做
  • 如果应用程序池是运行一个应用程序池帐户,它可能会尝试使用系统帐户 (COMPUTER$)
  • 进行身份验证

我会说,尝试一下并查看 TFS 服务器的 IIS 日志或使用类似 fiddler 的工具来捕获流量。