SessionAuthenticationModule.SessionSecurityTokenCreated 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
已經建立工作階段安全性權杖時發生。
public:
event EventHandler<System::IdentityModel::Services::SessionSecurityTokenCreatedEventArgs ^> ^ SessionSecurityTokenCreated;
public event EventHandler<System.IdentityModel.Services.SessionSecurityTokenCreatedEventArgs> SessionSecurityTokenCreated;
member this.SessionSecurityTokenCreated : EventHandler<System.IdentityModel.Services.SessionSecurityTokenCreatedEventArgs>
Public Custom Event SessionSecurityTokenCreated As EventHandler(Of SessionSecurityTokenCreatedEventArgs)
Public Event SessionSecurityTokenCreated As EventHandler(Of SessionSecurityTokenCreatedEventArgs)
事件類型
範例
下列程式代碼顯示 ASP.NET Web 應用程式global.asax.cs檔案中實作之事件的處理程式 SessionSecurityTokenCreated 。 您也必須將處理程式新增至 事件。 概觀主題會顯示 SessionAuthenticationModule 更完整的範例。
void SessionAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
{
System.Diagnostics.Trace.WriteLine("Handling SessionSecurityTokenCreated event");
//Store session on the server-side token cache instead writing the whole token to the cookie.
//It may improve throughput but introduces server affinity that may affect scalability
FederatedAuthentication.SessionAuthenticationModule.IsReferenceMode = true;
}
備註
您可以在寫入 Cookie 之前,使用此事件來修改會話安全性令牌。
在建立會話令牌 SessionSecurityToken () 之後,OnAuthenticateRequest事件SessionSecurityTokenCreated就會從 方法內引發。 例如,如果事件的事件處理程式 SessionSecurityTokenReceived 修改令牌,就會發生這種情況。
您可以使用此事件修改會話令牌的屬性,再沿著管線進一步傳遞,並用來驗證發出要求 (使用者) 的實體。
在事件處理程式中,您可以透過 SessionSecurityTokenCreatedEventArgs.SessionToken 屬性存取令牌。 修改令牌之後,您可以藉由將 SessionSecurityTokenCreatedEventArgs.WriteSessionCookie 屬性設定為 ,確保其回寫至 true
Cookie。 不同於事件 SessionSecurityTokenCreated , SessionSecurityTokenCreated 事件不是可取消的事件。