SessionAuthenticationModule.SessionSecurityTokenReceived 事件

定義

已經從 cookie 讀取工作階段安全性權杖時發生。

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引發事件。

您可以使用這個事件來修改會話令牌的屬性,再透過管線進一步傳遞,並用來驗證發出要求 (使用者) 的實體。 最常見的案例之一是修改會話到期時間 (可透過 SessionSecurityToken.ValidTo 屬性存取) ,以透過 lifetimesessionTokenRequirement> 元素的 屬性覆寫組態中所設定的<會話到期時間。 藉由在每個要求上修改此屬性,您可以實作滑動會話;也就是說,每次使用者存取網站時,都會延長存留期的會話。

在事件處理程式中,您可以透過 SessionSecurityTokenReceivedEventArgs.SessionToken 屬性存取令牌。 修改令牌之後,您可以將 設定SessionSecurityTokenReceivedEventArgs.ReissueCookietrue回 Cookie,以確保它會寫回 Cookie。 最後,SessionSecurityTokenReceived事件是可取消的事件,您可以將 的 SessionSecurityTokenReceivedEventArgs 屬性設定Cancel為中止進一步處理要求。

適用於