2

私はログインするためにAD認証を使用するasp.net Webアプリケーションを作成しています。 このアプリケーションは、AD認証も使用するTFS RestApiを呼び出すいくつかのサービスを提供します。 私はTFSにログイン情報を渡す必要があり、署名後にユーザー名/パスワードを保持したくありません。 TFS Rest APIに現在のセッショントークンやIDを渡すだけの方法はありますか? SSOと何とか似ていますか?asp.netアプリケーションからTFSにWindows認証を渡す方法2017

おかげ

答えて

0

@PatrickLu web.configで偽装を有効にする必要があります。 もう一つ、それは働くつもりではありません非同期(async)それはですので、あなたがのHttpClientを使用している場合:

var client = new HttpClient(new HttpClientHandler() { UseDefaultCredentials=true}) 
HttpResponseMessage response = client.GetAsync("your-tfs-url").Result; 

だから、WebClientのあなたの応答を

WebClient wc = new WebClient();    
wc.UseDefaultCredentials = true; 
wc.Headers.Add(System.Net.HttpRequestHeader.ContentType, "application/json; 
charset=utf-8");      
var result=wc.DownloadString("http://yourtfs-url"); 
+0

共有していただきありがとうございます。解決した場合は、回答としてマークすることができますので、同じ問題を抱える他のコミュニティメンバーが簡単に回答を見つけるのに役立ちます。良い一日を:) –

1

あなたはこれを行うための方法の下に試みることができる:ASP.NET impersonation

  • ストアデータベースまたは安全な場所でTFSの資格情報を使用して

    • をし、TFS
    • に接続するためのコードで TFS impersonationを使用
    • 資格情報TFS のセキュリティで実行されるWCFサービスを作成します。このWCFサービスはTFSクエリを作成します。ウェブ アプリケーションから、このWCFサービスを呼び出すことができます。

    注:(偽装Setting up impersonation for ASP.NET TFS API apps方法2については

  • が、これはまた、いくつか 設定を行うTFS管理者を必要とします。方法1の場合

    1. は、このチュートリアルを見てTFSの)
  • +0

    感謝を使用することをお勧めします。私が間違っていると私を修正してください。あなたのソリューションは、すべてのユーザーに対して1つのTFS資格情報を持つことで機能します。すべてのWindowsユーザーはTFSにアクセスでき、ユーザーごとに偽装したいTFSの残りのapiをそれぞれのユーザー資格情報と一緒に保存せずに呼び出す –

    +0

    私はHttpClientを使用していたので、このソリューションは当初はうまくいきませんでした.WebClientを使用した後、それは機能しました。ありがとう。 –

    +0

    @alirezamこれを嬉しく思っています。あなたはそれがどのように働くかを理解しています:)あなたは答えとしてここにあなたのソリューションを追加し、それをマークすることができます。 –

    関連する問題