Я пытаюсь настроить скользящие сеансы в WIF и мне нужно обработать SessionSecurityTokenReceived .
Я уверен, что я делаю что-то глупое здесь ... но VS2010 продолжает говорить мне, что There is no applicable variable or member
в месте, показанном ниже. Может кто-то указать мне верное направление? Я искал все выше и ниже фактические примеры того, как определить обработку этого события, но я не могу найти ни одного.
Global.asax
protected void Application_Start()
{
FederatedAuthentication.WSFederationAuthenticationModule.SecurityTokenReceived
+= SessionAuthenticationModule_SessionSecurityTokenReceived;
// ^^^ There is no applicable variable or member
}
void SessionAuthenticationModule_SessionSecurityTokenReceived(object sender, SessionSecurityTokenReceivedEventArgs e)
{
DateTime now = DateTime.UtcNow;
DateTime validFrom = e.SessionToken.ValidFrom;
DateTime validTo = e.SessionToken.ValidTo;
if ((now < validTo) &&
(now > validFrom.AddMinutes((validTo.Minute - validFrom.Minute) / 2))
)
{
SessionAuthenticationModule sam = sender as SessionAuthenticationModule;
e.SessionToken = sam.CreateSessionSecurityToken(
e.SessionToken.ClaimsPrincipal,
e.SessionToken.Context,
now,
now.AddMinutes(2),
e.SessionToken.IsPersistent);
e.ReissueCookie = true;
}
else
{
//todo: WSFederationHelper.Instance.PassiveSignOutWhenExpired(e.SessionToken, this.Request.Url);
// this code from: /5007203/kak-ustanovit-srok-deistviya-slaidov-v-prilozhenii-mvc-kotoroe-ispolzuet-sts-wif-dlya-autentifikatsii
var sessionAuthenticationModule = (SessionAuthenticationModule)sender;
sessionAuthenticationModule.DeleteSessionTokenCookie();
e.Cancel = true;
}
}