次の方法で共有


SessionAuthenticationModule.SessionSecurityTokenReceived イベント

定義

クッキーからセッション セキュリティ トークンを読み込んだときに発生します。

public:
 event EventHandler<System::IdentityModel::Services::SessionSecurityTokenReceivedEventArgs ^> ^ SessionSecurityTokenReceived;
public event EventHandler<System.IdentityModel.Services.SessionSecurityTokenReceivedEventArgs> SessionSecurityTokenReceived;
member this.SessionSecurityTokenReceived : EventHandler<System.IdentityModel.Services.SessionSecurityTokenReceivedEventArgs> 
Public Custom Event SessionSecurityTokenReceived As EventHandler(Of SessionSecurityTokenReceivedEventArgs) 
Public Event SessionSecurityTokenReceived As EventHandler(Of SessionSecurityTokenReceivedEventArgs) 

イベントの種類

次のコードは、ASP.NET Web アプリケーションのglobal.asax.cs ファイルに実装されたイベントのハンドラー SessionSecurityTokenReceived を示しています。 イベントにハンドラーを追加する必要もあります。 より完全な例については、概要に関するトピックを SessionAuthenticationModule 参照してください。

void SessionAuthenticationModule_SessionSecurityTokenReceived(object sender, SessionSecurityTokenReceivedEventArgs e)
{
    System.Diagnostics.Trace.WriteLine("Handling SessionSecurityTokenReceived event");
}

注釈

イベントはSessionSecurityTokenReceived、セッション トークン (SessionSecurityToken) がセッション Cookie から正常に読み取られた後に、 メソッド内OnAuthenticateRequestから発生します。

このイベントを使用すると、パイプラインに沿ってさらに渡される前にセッション トークンのプロパティを変更し、要求を行うエンティティ (ユーザー) を認証するために使用できます。 最も一般的なシナリオの 1 つは、sessionTokenRequirement> 要素の属性<を使用してSessionSecurityToken.ValidTolifetime構成で設定されたセッションの有効期限をオーバーライドするようにセッションの有効期限を変更する (プロパティからアクセス可能) 場合です。 各要求でこのプロパティを変更することで、スライディング セッションを実装できます。つまり、ユーザーがサイトにアクセスするたびに有効期間が延長されるセッションです。

イベント ハンドラーでは、 プロパティを使用してトークンに SessionSecurityTokenReceivedEventArgs.SessionToken アクセスできます。 トークンを変更した後、 を に設定 SessionSecurityTokenReceivedEventArgs.ReissueCookie することで、トークンが Cookie に確実に true書き戻されるようにすることができます。 最後にSessionSecurityTokenReceived、イベントは取り消し可能なイベントであり、 の SessionSecurityTokenReceivedEventArgs プロパティをCancel設定して、要求のそれ以上の処理を中止できます。

適用対象