被問到如何在Visual Studio 2012切換企業內部TFS伺服器的連線帳號?

例如: 在VS2012中以Domain\UserA連上某台TFS伺服器,之後想改用Domain\UserB登入以取得不同授權。發現Visual Studio的連線TFS伺服器設定介面不支援此種一人分飾多角的情境。如下圖右,首次登入後,再選取該TFS伺服器,就會自動登入並顯示當初登入帳號,沒有切換身分的機會。

先前保哥有篇雲端 TFS (Team Foundation Service) 如何切換登入身分文章介紹了如何切換雲端TFS的登入身分,但測試後發現登出鈕只有連線到雲端TFS時才有,連線到TFS伺服器時不提供登出功能。

  
連線雲端TFS時可登出

 


TFS Server時無登出鈕

 

猜想,在大部分企業內部應用情境,每個人只會使用自己專屬的AD帳號存取網路資源,不同使用者會使用不同AD帳號登入Windows,而TFS連線設定包含認證身分也會保存在使用者Profile不致混淆,一人分飾多角並不常見,或許這是連線企業TFS Server時沒有提供登出功能的原因吧!

已知TFS連線保存在使用者Profile,而TFS本身為HTTP 8080 Port Web Service(or API),由此推敲,連線認證應會採用Windows內建的網站認證保存機制。果不其然,在 控制台 / 使用者帳戶 / 管理您的認證 中發現了Visual Studio每次連線TFS自動登入的依據。

將上圖中紅框所指的兩個認證都移除掉(tfs為本案例TFS Server的機器名稱),重新啟動Visual Studio,下次連線時將會重新彈出登入對話框,便可使用不同AD帳號登入囉~

【同場加映】

如果你常常在切換身分,希望每次連線時都重新選擇登入帳號(是有沒有這麼忙?!),每次都要刪認證太麻煩,在登入時可以不要勾選"記住我的認證",當想要切換身分時,請關閉所有IE(清除認證暫存區),重新啟動VS2012,就可以重新選擇登入TFS的帳號。


Comments

# by 阿多

"在登入時可以不要勾選"記住我的認證",我是都會uncheck,不過那個checkbox好像都會預設勾選,每次要拿掉也是很煩~囧

# by PPMAN

這個真是滿惱人的,可能覺得不會常常變更使用者所以才這樣設計?

Post a comment