public void OnAuthorization(AuthorizationContext filterContext) { var isAuthenticated = filterContext.HttpContext.User.Identity.IsAuthenticated; bool? isGoogleOAuthLogin =(bool?) filterContext.HttpContext.Application["google_logged_in_users"]; if (!isAuthenticated) RedirectToAccessDeniedPage(filterContext); if (userContext == null) { if (isGoogleOAuthLogin.GetValueOrDefault()) { if (filterContext.HttpContext.Request.IsAjaxRequest()) { Sitecore.Diagnostics.Log.Info("Session expired.Redirecting user to login page...", this); response.RedirectUrl = some page; filterContext.HttpContext.Response.StatusCode = 441; return; } else { Sitecore.Diagnostics.Log.Info("Session expired.Redirecting user to login page...", this); string returnUrl = some login page; filterContext.Result = new RedirectResult(returnUrl); return; } } else if (filterContext.HttpContext.Request.IsAjaxRequest()) { Sitecore.Diagnostics.Log.Info("Session expired.Redirecting user to login page...", this); response.RedirectUrl = some different page; filterContext.HttpContext.Response.StatusCode = 440; return } else { if (!HttpContext.Current.Response.IsRequestBeingRedirected) { Sitecore.Diagnostics.Log.Info("Session expired.Redirecting user to login page...", this); string returnUrl = some differnt different page; filterContext.Result = new RedirectResult(returnUrl); return; } } return; } }