public static void RedirectForUnauthorizedRequest()
{
HttpContext context = HttpContext.Current;
Uri referrer = context.Request.UrlReferrer;
bool isFromLoginPage = referrer != null && referrer.LocalPath.IndexOf("/Account/login.aspx", StringComparison.OrdinalIgnoreCase) != -1;
// If the user was just redirected from the login page to the current page,
// we will then redirect them to the homepage, rather than back to the
// login page to prevent confusion.
if (isFromLoginPage)
{
context.Response.Redirect(Utils.RelativeWebRoot);
}
else
{
context.Response.Redirect(string.Format("{0}Account/login.aspx?ReturnURL={1}", Utils.RelativeWebRoot, HttpUtility.UrlPathEncode(context.Request.RawUrl)));
}
}