2016-08-09 4 views
0

Я пытаюсь разрешить пользователям выполнять различные задачи с помощью TFS SDK. Для этого я создал простое веб-приложение .NET, которое отлично работает, когда я работаю локально. Я могу подключиться к хосту TFS в нашем домене, когда я использую свои учетные данные AD.Как выполнить аутентификацию с помощью TFS SDK с помощью веб-приложения?

Моя проблема в том, когда я публикую веб-приложение на другом сервере в домене, я теряю аутентификацию, которую я имел, когда я работал локально. Я не могу подключиться к TFS в качестве текущего зарегистрированного пользователя.

Я включил проверку подлинности Windows на веб-приложения, в надежде использовать Kerberos, но я все еще получаю следующее сообщение об ошибке:

[TeamFoundationServerUnauthorizedException: TF30063: You are not authorized to access http://<serverName>:8080/tfs/<projectCollection>.] 

Я явно не передает учетных данных в веб-приложение, потому что я хочу пользователь, который использует приложение для автоматического входа в систему, используя свои учетные данные AD. Как это возможно, если вообще? Существуют ли параметры IIS и/или ASP.NET, которые мне нужно настроить, чтобы заставить это работать?

ответ

0

Эта проблема может относиться к double hop. Некоторые подобные вопросы для справки:

Также вы можете использовать NetworkCredential вместо проверки подлинности Windows для проверки подлинности, но пользователь на компьютере, возможно, потребуется ввести и ввести их имя пользователя, пароль руководство пользователя:

var _credentials = new NetworkCredential(UserName, Password); 

TfsTeamProjectCollection server = new TfsTeamProjectCollection(_tfsUri, _credentials); 

server.EnsureAuthenticated(); 
+0

Спасибо за вход! Я включил Kerberos на нашем сервере веб-приложений и включил аутентификацию Kerberos на стороне TFS, и он все равно вернулся с той же ошибкой. Я также попытался использовать кеш учетных данных для передачи учетных данных вперед. Я до сих пор не добился успеха. –