public void Clear() { if (UserId.HasValue) { ClearUser(UserId.Value); } var path = _context.GetSiteRoot(); foreach (var name in new[] { UserIdCookieName, EncryptionKeyCookieName }) { // fix for the old behaviour when cookies were set for Path=/ if (path != "") { _context.ClearCookie(name, "/"); } _context.ClearCookie(name, path); } }
public static bool TryGetCurrentWebUser ( this HttpContextBase context , out ClaimsPrincipal claimsPrincipal , bool needValidateIP = true , int expiredInSeconds = -1 , string cookieName = "WebUserToken" ) { var r = false; claimsPrincipal = null; var cookie = context.Request.Cookies[cookieName]; if (cookie != null) { string ip = null; if (needValidateIP) { ip = context.Request.UserHostAddress; } r = TryGetCurrentWebUser ( cookie.Value , out claimsPrincipal , ip , expiredInSeconds ); if (!r) { context.ClearCookie(cookieName); claimsPrincipal = null; } } return(r); }