private void LogOffAllAPP(LogOffInfo info) { List <AppLogOffCallBackUrl> urls = info.GetAllRelativeAppsLogOffCallBackUrl(); this.RenderCallBackUrls(urls); PassportSignInSettings.GetConfig().PersistSignInInfo.DeleteRelativeSignInInfo(info.SessionID); PassportManager.ClearSignInCookie(); }
protected void Page_Load(object sender, EventArgs e) { Response.Cache.SetCacheability(HttpCacheability.NoCache); LogOffInfo info = LogOffInfo.FromRequest(); if (info.SessionID.IsNotEmpty()) { if (info.LogOffAll) { this.LogOffAllAPP(info); if (info.ReturnUrl.IsNotEmpty()) { string retuenUrl = info.ReturnUrl; bool isFromApp = info.IsFromCascaseLogOffUrl == false && IsFromSelf() == false; if (info.CascadeLogOffUrl.IsNotEmpty() && isFromApp) { retuenUrl = info.CascadeLogOffUrl; } else { retuenUrl = ModifyReturnUrlWhenWindowsintegrated(info.ReturnUrl, info.LastUserID, info.WindowsIntegrated); } returnHref.HRef = retuenUrl; if (isFromApp) { autoRedirect.Value = (info.NeedAutoRedirect).ToString(); } else { autoRedirect.Value = (info.AutoRedirect).ToString(); } } } else { if (info.ReturnUrl.IsNotEmpty()) { Response.Redirect(info.ReturnUrl); } } } Response.Expires = -1; }