2

ドキュメントによると、両方のモジュールがIClaimsPrincipalのインスタンスを作成するために使用されます。WIFがわざわざ1つではなく2つのHttpModuleを使用する理由がわかりません。申し訳ありませんが、私はWIFを初めて使用します

4

2 に答える 2

5

大きな違いは、WSFederationAuthenticationModuleがリクエストをインターセプトし、STSによって認証されるようにユーザーをリダイレクトするのに対し、SessionAuthenticationModuleはWIFトークンCookieを使用して後続のリクエストでユーザーを承認することです。

SessionAuthenticationModuleはパイプラインの最初に起動するため、セッションCookieが既にある場合(つまり、すでに認証されている場合)、セッションモジュールはアクセスを許可します。

MSDNのドキュメントは、これを適切に説明しています。

于 2012-11-15T13:53:08.117 に答える
4

IClaimsPrincipalパイプラインに両方を含める必要はありません。後者が必要ですSessionAuthenticationModule。これは、WIF Coo​​kieをプリンシパルオブジェクトに変換する役割を果たします(FormsAuthenticationModuleがフォームCookieで行うのと同様です)。

前者WSFederationAuthenticationModuleは、インデントプロバイダーからアプリケーションへの最初のSAML投稿のみを担当します。モジュールは投稿を消費し、WIFCookieを発行します。wif:FederatedPassiveSignInまたは、ログインフォームに配置されたコントロールを使用して実行することもできます。

WIF対応のアプリケーションをコーディングする場合、通常はSAMモジュールしかなく、ログインコントロールを使用してCookieを発行します。

于 2012-11-15T14:44:33.913 に答える