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 的工具来捕获流量。
我正在开发一个使用 TFS 的 Web 应用程序 API,我想确保使用它的任何用户都具有使用 TFS 的正确身份验证。
为此,我使用以下代码:
TfsTeamProjectCollection teamProjectCollection = configServer.GetTeamProjectCollection(collectionId);
teamProjectCollection.EnsureAuthenticated;
我打算在 IIS 上托管网站。
当用户使用网络应用程序时,EnsureAuthenticated 会使用他们的凭据,还是会使用我托管应用程序的远程桌面的凭据?
视情况而定。
如果您已将 ASP.NEt 配置为使用模拟,它将使用已登录用户的帐户。
如果 ASP.NET 配置为默认设置,则可能会发生许多事情
- 如果凭据管理器中存储了凭据,它将使用该凭据
- 如果应用程序池 运行 在真实帐户下,它将尝试这样做
- 如果应用程序池是运行一个应用程序池帐户,它可能会尝试使用系统帐户 (COMPUTER$) 进行身份验证
我会说,尝试一下并查看 TFS 服务器的 IIS 日志或使用类似 fiddler 的工具来捕获流量。