Wer mit dem Visual Studio auf den TFS zugreift und dabei nicht innerhalb einer Windows-Domäne arbeitet, muss sich in der Regel immer wieder mit Benutzername und Kennwort anmelden. Es gibt 2 Workarounds für dieses Nerverei.
Vorbemerkungen
Wer in kleineren Teams oder gar allein mit dem Visual Studio Team System arbeitet, hat i.d.R. nicht gleich eine komplette AD-Infrastruktur zur Verfügung, um sich mit der Windows-Anmeldung auch gleich die Rechte auf dem TFS "einzuheimsen". Startet man nun das Visual Studio und hat man bei der letzten Session mit einem TFS gearbeitet, erscheint erstmal immer ein Dialog, der zur Eingabe von Benutzername und Kennwort auffordert. Zunächst stört das nicht weiter, aber im Laufe der Zeit wird es lästig.
Warum kommt dieser Dialog? Der Dialog erscheint zunächst einmal immer dann, wenn der lokale Benutzername und das dazugehörige Kennwort (lokal = Entwicklungsrechner) nicht mit den Daten auf der TFS-Maschine übereinstimmen. D.h., VS versucht sich zunächst einmal allein gegen den TFS zu authentifizieren. In Wahrheit hat hier das VS eigentlich gar keine Kontrolle, weil aufgrund der technischen Implementierung von TFS eine HTTP-Authentifizierung gegen den IIS der TFS-Maschine durchgeführt wird, aber egal. Klappt hier etwas nicht, weil man nicht in der gleichen Domäne ist oder einfach andere/falsche Benutzerdaten hat, kommt immer wieder der Dialog.
Die große Frage ist nun, warum dort kein Häkchen der Machart "Merk Dir das fürs nächste Mal" vorhanden ist. Es gibt viele Spekulationen darüber und Microsoft selbst hat sich mit inoffiziellen Statements á la "Ist sicherer so" nicht gerade ein rühmliches Denkmal gesetzt. Meine Theorie ist die, dass es den VS-Designern zu umständlich war, die Authentifizierungsdaten innerhalb ihres Produktes zu speichern. Das überlassen sie lieber dem OS und das sieht bei HTTP-Auth halt kein Häkchen vor.
Workaournds
#1 Der umständliche Weg
Eine Möglichkeit ist, die Anmeldeinformationen auf beiden Maschinen zu vereinheitlichen. Weil man i.d.R. das Passwort auf einer lokalen Maschine lieber nicht leichtfertig wechseln sollte (man glaubt gar nicht, was dann alles nicht mehr geht, weil das Kennwort sozusagen den Master-Key für die interne Verschlüsselung mitbestimmt), ist es am einfachsten, den Account auf dem TFS-Server anzupassen. Entweder man erstellt also einen gleichnamigen User auf dem TFS und gibt ihm das gleiche Kennwort, wie dem auf der lokalen Maschine oder man benennt einen vorhandenen User um und wechselt dann das Kennwort. Aufpassen muss man nur, dass dieser User dann auch Mitglied der TFS-Benutzer wird.
Der Nachteil dieser Methode ist, dass u.U. dieser neue User des TFS nicht mehr identisch mit dem Account ist, der bereits Änderungen an einem Projekt durchgeführt hat. Die Methode ist potentiell fehlerbehaftet und hinterlässt einen schalen Beigeschmack, weil hier nur wegen der nervigen Dialog-Box die Sicherheit im eigenen Netz untergraben wird.
#2 Der einfache Weg
TFS besteht ja nicht nur aus der Quellcodeverwaltung, sondern hat ja auch Sharepoint integriert, um die Dokumente zu verwalten. Sharepoint hat nun den entscheidenden Vorteil, dass es bei lokalen Zugriffen in der Authentifizierungs-Meldung zulässt, die Daten zu speichern. Das ist genau, was wir wollen und wird schöner Weise ab dann auch von VS genutzt. Also los:
- Legen Sie eine Word-Datei auf Ihrem lokalen Rechner an (kann leer sein).
- Starten Sie Visual Studio und rufen Sie den Team Explorer auf (Strg + M).
- Öffnen Sie den Ordner "Dokumente" (Documents) unterhalb ihres TFS-Projektes.
- Klicken Sie rechts auf eine der Dokument-Bibliotheken und wählen Sie "Dokument hochladen" (Upload document).
- Wählen Sie die eben erstellte Word-Datei und klicken Sie OK.
- Klicken Sie im Team-Explorer doppelt auf die Word-Datei, sobald diese dort erscheint und nicken Sie ggf. die Warnung vor deren Inhaltsrisiken ab.
- Irgendwann erscheint das Fenster mit der Login-Aufforderung, in dem sie dann den Haken unten setzen können.
Es kann durchaus sein, dass der Haken erst beim 2. oder 3. Versuch erscheint, die Word-Datei zu laden, also wiederholen Sie ggf. die Schritte 6 und 7 immer wieder bis der Haken da ist.
Sobald der Haken gesetzt wurde, können Sie VS schließen. Beim nächsten Öffnen sollte keine Aufforderung mehr erscheinen.

