0

我知道一个 TFS 2010 服务器,我可以通过创建一个来连接它TfsConfigurationServer,而无需设置任何凭据。

TfsConfigurationServer configurationServer = new TfsConfigurationServer(new Uri("address"))

连接后,我可以检索所有团队项目集合和相应的团队项目。这不是安全漏洞吗?我不确定,因为我是 TFS api 的新手。

每个 TFS 服务器都允许这样列出团队项目吗?如果这是一个漏洞如何修复它?

4

1 回答 1

2

可能不是您没有使用任何凭据,而是您没有明确指定任何凭据。在这种情况下,将使用您的登录用户凭据,您无需输入用户名和密码即可登录。

可能正在发生以下三件事之一:

  1. 您以域用户身份登录到您的工作站。您要连接的 TFS 服务器已加入与您登录的域具有信任关系的域。您的域用户具有连接和查询团队项目集合列表的适当权限。

  2. 您的计算机和 TFS 服务器之间没有信任关系,但您在服务器上的工作站上有相同的用户名/密码配置。(即,您正在使用“影子帐户”或“镜像本地帐户”。)您在 TFS 服务器上的用户具有连接和查询团队项目集合列表的适当权限。

  3. 您已在 Windows 凭据管理器中为此主机保存凭据。这些凭据具有连接和查询团队项目集合列表的适当权限。

如果这两件事之一不正确,则您需要向有权连接和查询团队项目集合列表的帐户提供明确的用户名/密码凭据。

可以在 IIS打开匿名访问并允许来宾用户访问以列出 TFS 中的项目集合,但我不知道有人这样做过。我自己从未测试过这种情况。

无论如何,如果您正在查看启用了此功能的服务器,那确实不是常态。

于 2012-07-31T19:58:53.127 回答