2016-08-09 140 views
0

Ich versuche Benutzern zu ermöglichen, verschiedene Aufgaben mit dem TFS SDK auszuführen. Ich habe dafür eine einfache .NET-Webanwendung erstellt, die perfekt läuft, wenn ich lokal arbeite. Ich kann eine Verbindung zum TFS-Host in unserer Domäne herstellen, indem ich meine AD-Anmeldeinformationen verwende.Wie authentifiziere ich mich mithilfe des TFS SDK mithilfe einer Webanwendung?

Mein Problem ist, wenn ich die Web-Anwendung auf einem anderen Server auf der Domain veröffentlichen, verliere ich die Authentifizierung ich hatte, als ich vor Ort ausgeführt wurde. Ich kann keine Verbindung zu TFS als aktuell angemeldeter Benutzer herstellen.

Ich habe auf Windows-Authentifizierung auf der Web-Anwendung eingeschaltet, in der Hoffnung Kerberos zu verwenden, aber ich habe immer noch die folgende Fehlermeldung:

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

ich ausdrücklich bin keine Anmeldeinformationen für den Web-App vorbei, weil ich das will Benutzer, der die App verwendet, um sich automatisch mit seinen AD-Anmeldeinformationen anzumelden. Wie ist das möglich, wenn überhaupt? Gibt es IIS- und/oder ASP.NET-Einstellungen, die ich konfigurieren muss, damit dies funktioniert?

Antwort

0

Dieses Problem kann zu Double-Hop bezogen. Einige ähnliche Fragen für Ihre Referenz:

Sie können auch NetworkCredential statt Windows-Authentifizierung für die Authentifizierung verwenden, aber der Benutzer an der Maschine müssen möglicherweise eingeben und geben Sie Ihre Benutzername, Passwort manuell:

var _credentials = new NetworkCredential(UserName, Password); 

TfsTeamProjectCollection server = new TfsTeamProjectCollection(_tfsUri, _credentials); 

server.EnsureAuthenticated(); 
+0

Danke für den Input! Ich habe Kerberos auf unserem Web-App-Server aktiviert und die Kerberos-Authentifizierung auf der TFS-Seite aktiviert und es kam immer noch mit demselben Fehler zurück. Ich habe auch versucht, den Berechtigungscache zu verwenden, um die Anmeldeinformationen weiterzuleiten. Ich habe immer noch keinen Erfolg gehabt. –