Team Explorer Everywhere 的命令行身份验证

在执行任何版本控制操作之前,需要向 Team Foundation Server 对自身进行身份验证。方法:在您使用任何 tf 命令行工具中的命令时,您可以使用 –login 选项指定您的凭据;如您设置了 TF_AUTO_SAVE_CREDENTIALS 环境变量,您也可以使用 –login 选项将您的凭据保存在凭据缓存中;如您安装并配置了供应商提供的 Kerberos 库和工具,您可以通过使用 Kerberos 经 Negotiate (SPNEGO) 协议对服务器进行身份验证。

主题内容

  • The –login Option

  • Saving Credentials in the Credentials Cache

  • Changing Your User Name and Password

  • Using Kerberos Ticket

登录选项。

您可以使用 –login 选项指定您的凭据。这是此选项的两种格式:

  • -login:domain\username,password

  • -login:username@domain,password

如果您尚未存储您的凭据并且尝试运行 tf 命令(不使用此选项),系统会提示您指定该凭据。如果尝试运行使用此选项的 tf 命令,但不指定密码,将会提示指定的一个。

警告说明警告

如果使用 –login 选项指定密码,那么在同一计算机上的其他用户可能会看见您的密码。但是,使用自动提示输入您的密码可以帮助保护密码不被他人看到。

下面的示例演示如何使用 –login 选项:

  • 此示例将该域指定为“公司”,将用户名指定为“John”,以及将密码指定为“Se^%cret1”。

    -login:company\john,Se^%cret1

    重要说明重要事项

    如果您在使用 UNIX 外壳程序,则您必须将另一个反斜杠放在用户名和密码前面以保留字符的文本值。例如 -login:company\\john,Se^%cret1。

  • 此示例指定与前面的示例相同但格式不同的凭据。

    -login:john@company,Se^%cret1

  • 此示例通过逗号隔开的用户名与域名提供空密码。

    -login:john@company,

  • 此示例不提供任何密码。在这种情况下,命令行客户端将提示丢失密码的用户。

    -login:join@company

  • 此示例由双引号括起来,因为这些凭据包含 shell 程序认为特殊的字符。用户名、域和密码可能需要引用或转义,以便准确地通过到 tf 命令行工具。

    “-login:john\company, Se^%cret1”

重要说明重要事项

如果使用 –noprompt 选项,则将不会接收到从 tf 命令行工具中的任何提示。

将凭据保存在凭据缓存中

如果设置 TF_AUTO_SAVE_CREDENTIALS 环境变量为任何值,如“0”,然后运行具有 –login 选项的 tf 命令,您可以自动保存凭据为凭据缓存。在您执行这些步骤后,您不需要每次指定您运行 tf 命令的身份验证信息。

说明说明

有关更多信息,请参见 设置环境变量 (Team Explorer Everywhere)

更改用户名和密码

当您更改 Active Directory 凭据时,如用户名、域名或密码,您还需要更新您的 tf 命令行工具的凭据,以便您可以继续连接到 Team Foundation Server。

  • 如果在凭据缓存中已经自动启用保存凭据,则通过使用 –login 一次提供新的凭据。tf 在缓存中更新保存的凭据。

  • 如果在缓存中尚未启用自动凭据保存,则每次在连接到 Team Foundation Server 时使用 –login 选项或在交互提示时提供新的凭据。

使用 Kerberos 票证

您可以正确的配置身份验证 Visual Studio Team Foundation Server 的示例通过使用 Negotiate (SPNEGO) 协议上的 Kerberos。通过使用 Kerberos 身份验证票证,可以从支持的客户端安全地验证服务器,而不用提供自己的密码。在获得 Kerberos 票证后,可以配置命令行客户端以使用 Kerberos。

若要在 Team Foundation Server 的跨平台命令行客户端中使用 Kerberos 身份验证,则必须将模板属性设置为 useDefaultCredentials 为值 true。例如,要启用该配置文件的 ProfileName 的 Kerberos 身份验证,请使用以下命令:

tf profile -edit -boolean:useDefaultCredentials=true  ProfileName

如果您接收到身份验证错误,必须确保 Kerberos 正确配置在 Team Foundation Server 的实例并在本地计算机。

有关更多信息,请参见 Authentication by using Kerberos Tickets

请参见

概念

跨平台命令行客户端 - 初学者指南

设置环境变量 (Team Explorer Everywhere)