Exemplo n.º 1
0
        /// <summary>
        /// 授权失败返回处理
        /// </summary>
        /// <param name="vret"></param>
        /// <returns></returns>
        public virtual ActionResult AuthorizeVerifyFail(Result vret)
        {
            //调用默认授权失败返回消息处理
            string url = WebExtention.GetCurrentDomainUrl() + WebExtention.UrlEncode(HttpContext.Current.Request.RawUrl.ToString());

            //判断是否为Ajax请求
            if (WebExtention.IsAjax())
            {
                if (string.IsNullOrEmpty(vret.Message))
                {
                    vret.Message = "登录超时,请重新登录!";
                }
                //Ajax请求返回json数据
                Result     ret    = new Result(vret.Message, ResultTypes.UnAuthorize);
                JsonResult result = new JsonResult();
                result.Data = ret;
                return((ActionResult)result);
            }
            else
            {
                //没有登录跳转请问登录
                RouteValueDictionary route = new RouteValueDictionary();
                route.Add("action", "Index");
                route.Add("controller", "OAuth");
                route.Add("return_url", url);
                RedirectToRouteResult result = new RedirectToRouteResult(route);
                return(result);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// 重写处理链接方法,处理https请求,使其重定向http
 /// </summary>
 /// <param name="filterContext"></param>
 protected virtual void HandleNonHttpRequest(AuthorizationContext filterContext)
 {
     if (String.Equals(filterContext.HttpContext.Request.HttpMethod, "GET", StringComparison.OrdinalIgnoreCase))
     {
         string url = WebExtention.GetCurrentDomainUrl() + filterContext.HttpContext.Request.RawUrl.ToString();
         //重定向
         filterContext.Result = new RedirectResult(url);
     }
 }