Exemplo n.º 1
0
        internal static string GetRedirectUrl(HttpContext context, Resp res, bool isAjax)
        {
            var req = context.Request;

            if (res.IsRespType(RespTypes.UnLogin))
            {
                var rUrl = isAjax ? GetReqReferer(req) : string.Concat(req.Path, req.QueryString);
                return(string.Concat(LoginUrl, "?rurl=" + rUrl.UrlEncode()));
            }

            if (isAjax)
            {
                return(res.msg);
            }

            var errUrl = res.IsRespType(RespTypes.ObjectNull) ? NotFoundUrl : ErrorUrl;

            return(string.Concat(errUrl, "?ret=", res.ret, "&msg=", res.msg.UrlEncode()));
        }
Exemplo n.º 2
0
 /// <summary>
 ///  异常响应处理
 /// </summary>
 /// <param name="context"></param>
 /// <param name="res"></param>
 /// <param name="mode"></param>
 /// <returns></returns>
 private static async Task ExceptionResponse(HttpContext context, Resp res, AppSourceMode mode)
 {
     if (mode == AppSourceMode.Browser &&
         !AppWebInfoHelper.CheckIf404OrErrorUrl(context.Request.Path.ToString()))
     {
         var errUrl = res.IsRespType(RespTypes.ObjectNull) ? AppWebInfoHelper.NotFoundUrl : AppWebInfoHelper.ErrorUrl;
         if (!string.IsNullOrEmpty(errUrl))
         {
             string url = string.Concat(errUrl, "?ret=", res.ret, "&msg=", errUrl.UrlEncode());
             context.Response.Redirect(url);
             return;
         }
     }
     await ResponseJsonError(context.Response, res);
 }
Exemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="context"></param>
        /// <param name="appInfo"></param>
        /// <param name="res"></param>
        protected void ResponseExceptionEnd(AuthorizationFilterContext context, AppIdentity appInfo, Resp res)
        {
            string rUrl = res.IsRespType(RespTypes.UserUnLogin)
                ? InterReqHelper.GetUnloginPage(context.HttpContext, appInfo)
                : InterReqHelper.GetErrorPage(context.HttpContext, appInfo, res);

            if (string.IsNullOrEmpty(rUrl))
            {
                context.Result = new ContentResult()
                {
                    ContentType = "application/json; charset=utf-8",
                    Content     = $"{{\"ret\":{res.ret},\"msg\":\"{res.msg}\"}}"
                };
                return;
            }

            context.Result = new RedirectResult(rUrl);
            return;
        }
Exemplo n.º 4
0
        private void UserAuthErrorReponse(AuthorizationFilterContext context, AppIdentity appInfo, Resp res)
        {
            if (!res.IsRespType(RespTypes.UnLogin))
            {
                ResponseExceptionEnd(context, res);
                return;
            }

            // 重定向用户登录页
            if (!string.IsNullOrEmpty(AppWebInfoHelper.LoginUrl) &&
                appInfo.SourceMode == AppSourceMode.Browser)
            {
                var req  = context.HttpContext.Request;
                var rUrl = string.Concat(req.Path, req.QueryString);

                var newUrl = string.Concat(AppWebInfoHelper.LoginUrl, "?rurl=" + rUrl.UrlEncode());

                context.Result = new RedirectResult(newUrl);
                return;
            }
            context.Result = new JsonResult(res);
            return;
        }