0

C# を使用して ADFS 2.0 ws-trust サービスから SAML 2.0 トークンを取得しようとしています。人気のあるサンプルは、これ http://leastprivilege.com/2012/11/16/wcf-and-identity-in-net-4-5-external-authentication-with-ws-trust/です。ただし、このサンプルでは、​​この記事http://msdn.microsoft.com/en-us/library/jj157091.aspxによると、4.5 の System.IdentityModel 名前空間にジャンプしなかった UserNameWSTrustBinding を使用しています。

このサンプルと見つけたいくつかの亜種を試してみましたが、これまでのところ、得られる結果はさまざまなエラー メッセージだけです。最新の「セキュリティトークンのリクエストに無効または不正な要素が含まれています。」をデバッグする良い方法があるかどうか疑問に思っています。WCF ログオンを有効にしたところ、このメッセージが ADFS サービスによって障害として返されていることがわかりました。

ADFS サーバーで AD FS 2.0/Admin イベントを確認すると、エラーの兆候はありません。いくつかの投稿は、これが ADFS ファーム環境で一般的であることを示していますが、私のものは単純な単一サーバー構成です。

これを診断する良い方法はありますか?または、ADFS サーバー側の構成要件を備えた適切なサンプルはありますか?

4

1 に答える 1

1

このリンクhttp://social.msdn.microsoft.com/Forums/en/Geneva/thread/33fc091b-505c-481c-a61c-a8541a5ccf23は、ADFS2.0のサーバー側でWCFおよびWIFトレースを有効にする方法を示しています。C:\ Program Files \ Active Directory Federation Services 2.0\Microsoft.IdentityServer.Servicehost.exe.configにある構成ファイルを変更します。(3つのswitchValue設定をVerboseに変更し、トレースリスナーを変更します。)指示に従いながら、リスナーのタイプを必ず変更してください。何かのようなもの

<add name="ADFSWifListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\logs\adfs1.svclog" />

また、「Everyone」にC:\ Logsフォルダーへのフルアクセスを許可する必要がありました。必要に応じて、監査を使用してこれらのアクセス許可を調整できます。.svclogファイルが作成されると、それらはSvcTraceViewer.exeで%ProgramFiles%/ Microsoft SDKs / Windows / v8.0A / bin / NETFX 4.0 Tools(またはおそらく他のSDKバージョン)で表示できます。

注:Microsoftは、トレースデータをファイルに直接記録するという概念をサポートしていないため、これをオフにするか、この記事http://technet.microsoft.com/en-us/library/adfs2-troubleshootingに従って構成することをお勧めします。 -実稼働環境用のconfiguring-computers(WS.10).aspx

于 2012-11-29T23:32:50.250 に答える