WSFederationAuthenticationModule.SessionSecurityTokenCreated 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当会话安全标记已从安全标记服务标记 (STS) 创建时发生。
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)
事件类型
示例
void WSFederationAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
{
//Manipulate session token here, for example, changing its expiration value
System.Diagnostics.Trace.WriteLine("Handling SessionSecurityTokenCreated event");
System.Diagnostics.Trace.WriteLine("Key valid from: " + e.SessionToken.KeyEffectiveTime);
System.Diagnostics.Trace.WriteLine("Key expires on: " + e.SessionToken.KeyExpirationTime);
}
注解
可以在会话令牌用于设置线程主体并将其写入会话 Cookie 之前,添加事件处理程序来修改会话令牌。 在事件处理程序中,可以通过 属性访问会话令牌 SessionSecurityTokenCreatedEventArgs.SessionToken 。 可以通过设置 SessionSecurityTokenCreatedEventArgs.WriteSessionCookie 属性来指定是否应写入会话 Cookie。
处理从安全令牌服务 (STS) 收到的WS-Federation登录响应消息 (“wsignin1.0”) 时,会从事件处理程序委托内部 OnAuthenticateRequest 引发此事件。 在验证从登录响应消息中的 wresult 或 wresultptr 参数反序列化的安全令牌之后,在 (和) 的 HttpContext.Current 属性上Thread.CurrentPrincipalUser设置声明主体之前,将引发该令牌。
重要
若要在引用模式下操作会话,Microsoft 建议为 WSFederationAuthenticationModule.SessionSecurityTokenCreated global.asax.cs 文件中的事件提供处理程序,并在 属性中SessionSecurityTokenCreatedEventArgs.SessionToken传递的令牌上设置 SessionSecurityToken.IsReferenceMode 属性。 这将确保会话令牌在每个请求的引用模式下运行,并且优先于仅在会话身份验证模块上设置 SessionAuthenticationModule.IsReferenceMode 属性。