Как правило, при подключении к службе Team Foundation Service пользователь видит веб-страницу для входа с помощью учетной записи Microsoft, также называемой LiveID. Выполняя вход, пользователь может установить флажок сохранения своей учетной записи Microsoft. В этом случае ее не придется вводить заново, если только не допускать больших перерывов между сеансами входа (тогда система запросит данные еще раз).
Это очень удобно для людей, но как быть, если подключение необходимо выполнить для приложения или веб-службы? С этой целью в программном коде следует применять «альтернативные учетные данные», использование которых необходимо разрешить в параметрах учетной записи. Это тот же самый параметр, который используется при включении базовой аутентификации для git-tf. Затем можно написать программный код, в котором для подключения к службе будут использоваться эти учетные данные. В долговременной перспективе мы также добавим поддержку OAuth, однако она еще в экспериментальной стадии.
Включение альтернативных учетных данных.
Прежде всего эту функцию необходимо включить. Сначала откройте в браузере свою учетную запись или проект, щелкните свое имя в правом верхнем углу, а затем щелкните My Profile (Мой профиль).
В диалоговом окне User Profile (Профиль пользователя) щелкните вкладку Credentials (Учетные данные).
Укажите пароль и сохраните изменения.
Использование в коде альтернативных учетных данных
Перед выполнением описанных ниже действий убедитесь, что на вашем компьютере установлена Visual Studio 2012 с обновлением 1 или более новая версия. В состав этого обновления входят расширения для объектной модели клиента TFS, поддерживающие использование альтернативных учетных данных.
Самый простой способ получения новейших обновлений — щелкнуть всплывающее уведомление на панели задач Windows или в Visual Studio перейти в раздел Tools (Инструменты) –> Extensions and Updates… (Расширения и обновления...), щелкнуть Updates (Обновления), затем Product Updates (Обновления продукта) и установить новейшее обновление. Это обновление также можно загрузить здесь.
Чтобы убедиться в наличии установленного Visual Studio с обновлением 1 или более новой версии, выберите Help (Справка) –> About Microsoft Visual Studio (О Microsoft Visual Studio).
Завершив настройку учетных данных, давайте воспользуемся ими, создав простое консольное приложение.
Создав новое консольное приложение, добавьте ссылку на библиотеку Microsoft.TeamFoundation.Client.dll, которая входит в состав ReferenceAssemblies версии 2.0. Объектная модель клиента для TFS практически целиком разработана с помощью .NET 3.5 (CLR 2.0) для поддержки запуска веб-частей TFS в SharePoint.
Ниже приведен пример кода:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Microsoft.TeamFoundation.Client;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
NetworkCredential netCred = new NetworkCredential(
"someone@yahoo.com",
"password");
BasicAuthCredential basicCred = new BasicAuthCredential(netCred);
TfsClientCredentials tfsCred = new TfsClientCredentials(basicCred);
tfsCred.AllowInteractive = false;
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(
new Uri("https://YourAcct.visualstudio.com/DefaultCollection"),
tfsCred);
tpc.Authenticate();
Console.WriteLine(tpc.InstanceId);
}
}
}
Я добавил два оператора using, один для System.Net, чтобы получать NetworkCredential, а другой для Microsoft.TeamFoundation.Client, для доступа к тем классам TFS, которые нам понадобятся.
Сначала мы создадим стандартный объект NetworkCredential с именем пользователя (адрес электронной почты будет совпадать с данными вашей учетной записи Microsoft) и паролем, который вы создали для альтернативных учетных данных. В объекте TfsClientCredentials мы присваиваем параметру AllowInteractive значение false, чтобы отключить появление диалогового окна при использовании неверных учетных данных.
При создании коллекции TfsTeamProjectCollection мы должны указать URL-адрес коллекции и учетные данные. Обратите внимание, что все соединения с учетными записями TF Service требуют использования протокола HTTPS. В настоящее время каждой учетной записи в TF Service соответствует одна коллекция, поэтому она всегда называется DefaultCollection.
Наконец, мы вызываем метод Authenticate() с целью проверки правильности указанных учетных данных и тестирования работоспособности кода, для чего на экран выводится уникальный идентификатор InstanceId этой коллекции.
Теперь приложения, которые не запрашивают ввод учетных данных, могут пользоваться всеми возможностями клиентской объектной модели TFS с помощью службы TF Service.
Новые интересные материалы по инструментам разработки на русском языке.
Команда Русского MSDN на регулярной основе ищет наиболее интересные англоязычные материалы для перевода и публикует их в специальном блоге blogs.msdn.com/b/developer-tools-rus/
Сейчас там уже более десятка статей на различные темы, возможно какие то из них будут вам интересны:
- JavaScript: повышение производительности при запуске IE с помощью Visual Studio
- Отладка приложений SharePoint с помощью IntelliTrace в Visual Studio
- Управление версиями в объектной модели клиента TFS
- Улучшенная загрузка символов кода отладчиком Visual Studio 2012
- Знакомство с эмуляторами SharePoint
- Работа нескольких команд в Microsoft Team Foundation Server 2012 и Visual Studio Scrum 2.0
- Кодированный тест пользовательского интерфейса: настройка свойств поиска при записи в Internet Explorer
- Покрытие кода в Microsoft Test Manager. Подробный анализ
- Использование async/await без .NET Framework 4.5
- Typescript — история адаптации к TFS
- Гетерогенные зависимости: что же делать группе разработчиков? Мигрировать или интегрировать!
- Разработка приложений в Visual Studio 2012 для Магазина Windows с помощью набора средств для мультиязычных приложений
- Расширение проверки правописания в Visual Studio 2012 HTML, ASP.NET, CSS и файлах иных типов
- Введение в ARM: изучаем неопределенное, не заданное спецификациями и зависящее от реализации поведение языка C++
- Пример быстрого реагирования — утилита командной строки для создания сценариев ветвления TFS
- Знакомство с дополнением Code Map в CTP-версии Visual Studio 2012
Автор: dmandreev