Example #1
0
 /// <summary>
 /// 未登录,跳转登录
 /// </summary>
 /// <param name="filterContext"></param>
 protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
 {
     if (AjaxRequestExtensions.IsAjaxRequest(filterContext.RequestContext.HttpContext.Request))//判断是不是ajax请求
     {
     }
     filterContext.HttpContext.Response.Redirect("~/Login/UserLogin", true);
 }
Example #2
0
        public ActionResult Visualizar(int id)
        {
            CredenciadoVM vm = new CredenciadoVM();

            vm.Credenciado        = _bus.Obter(id);
            vm.Credenciado.Pessoa = _bus.ObterPessoaCredenciado(vm.Credenciado.Pessoa.Id);

            vm.PessoaVM.Pessoa                 = vm.Credenciado.Pessoa;
            vm.PessoaVM.CpfCnpjValido          = true;
            vm.PessoaVM.IsCredenciado          = true;
            vm.PessoaVM.ExibirMensagensPartial = true;
            vm.PessoaVM.ExibirBotoes           = true;
            vm.PessoaVM.OcultarLimparPessoa    = true;
            vm.PessoaVM.UrlAcao                = Url.Action("AlterarDados", "Credenciado");
            vm.PessoaVM.IsVisualizar           = true;
            vm.OrgaosParceiros                 = ViewModelHelper.CriarSelectList(_busOrgaoParceiro.ObterOrgaosParceirosLst(), true, true, vm.Credenciado.OrgaoParceiroId.ToString());
            vm.OrgaosParceirosUnidades         = ViewModelHelper.CriarSelectList(_busOrgaoParceiro.ObterUnidadesLst(vm.Credenciado.OrgaoParceiroId), true, true, vm.Credenciado.OrgaoParceiroUnidadeId.ToString());

            CarregaCampos(vm);
            PreencheSalvarVM(vm.PessoaVM);

            if (AjaxRequestExtensions.IsAjaxRequest(this.Request))
            {
                return(View("CredenciadoPartial", vm));
            }

            return(View(vm));
        }
Example #3
0
 private void HandleUnAuthenticatedRequest(AuthorizationContext filterContext)
 {
     if (AjaxRequestExtensions.IsAjaxRequest(filterContext.HttpContext.Request))
     {
         JsonDataResult jsonDataResult = new JsonDataResult();
         jsonDataResult.StatusCode = 403;
         jsonDataResult.ErrorMessages.Add(new Error
         {
             Message = "Bạn chưa đăng nhập hoặc phiên làm việc của bạn đã kết thúc"
         });
         jsonDataResult.Message = "Bạn chưa đăng nhập hoặc phiên làm việc của bạn đã kết thúc";
         JsonResult jsonResult = new JsonResult();
         jsonResult.Data      = (jsonDataResult);
         filterContext.Result = (jsonResult);
     }
     else
     {
         ArrayList arrayList = new ArrayList();
         arrayList.Add(filterContext.HttpContext.Session.SessionID);
         arrayList.Add(filterContext.HttpContext.Request.Url.AbsoluteUri);
         arrayList.Add("Login");
         string str  = HttpUtility.UrlEncode(this.GetEncryptor(filterContext).Encrypt(this.GetEncryptor(filterContext).Serialize(arrayList)));
         string text = FormsAuthentication.LoginUrl + "?token=" + str;
         filterContext.Result = (new RedirectResult(text));
     }
 }
Example #4
0
        public override void OnAuthorization(System.Web.Mvc.AuthorizationContext filterContext)
        {
            var islogin = filterContext.HttpContext.User.Identity.IsAuthenticated;

            if (!islogin)
            {
                if (AjaxRequestExtensions.IsAjaxRequest(filterContext.HttpContext.Request))
                {
                    filterContext.Result = new System.Web.Mvc.JsonResult {
                        Data = new { success = true, login = false, data = "", message = "" }, JsonRequestBehavior = System.Web.Mvc.JsonRequestBehavior.AllowGet
                    };
                }
                else
                {
                    var returnUrl = string.IsNullOrWhiteSpace(HttpContext.Current.Request.RawUrl) ? "" : HttpContext.Current.Request.RawUrl;
                    //未登陆返回登陆页
                    filterContext.Result = new System.Web.Mvc.RedirectToRouteResult(new System.Web.Routing.RouteValueDictionary(new { controller = "Login", action = "Index" }));
                }
                return;
            }
            string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
            string actionName     = filterContext.ActionDescriptor.ActionName;

            base.OnAuthorization(filterContext);
        }
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var Session      = HttpContext.Current.Session;
            var loginInfo    = SessionLoginInfo.GetInstance(Session);
            var organization = loginInfo.OrganizationID;// HttpContext.Current.Request.Cookies.Get("OrganizationID");

            if (loginInfo.LoginID == 0 || !_rolls.Contains(loginInfo.SystemRoll))
            {
                if (AjaxRequestExtensions.IsAjaxRequest(filterContext.HttpContext.Request))
                {
                    ActionExecutingContext executingContext = filterContext;
                    JsonResult             jsonResult1      = new JsonResult();
                    var dt = new { State = "Timeout", Redirect = UrlHelper.GenerateUrl("default", "RolloutRedirect", "Home", null, null, filterContext.RequestContext, true) };
                    jsonResult1.Data = dt;// "_Logon_";
                    JsonResult jsonResult2 = jsonResult1;
                    executingContext.Result = (ActionResult)jsonResult2;
                }
                else
                {
                    ActionExecutingContext executingContext = filterContext;
                    RouteValueDictionary   routeValues      = new RouteValueDictionary();
                    routeValues.Add("Controller", "Home");
                    routeValues.Add("Action", "RolloutRedirect");
                    if (string.IsNullOrEmpty(organization))
                    {
                        routeValues.Add("OrganizationID", organization);
                    }
                    RedirectToRouteResult redirectToRouteResult = new RedirectToRouteResult(routeValues);
                    executingContext.Result = (ActionResult)redirectToRouteResult;
                }
            }
            base.OnActionExecuting(filterContext);
        }
Example #6
0
 public void IsAjaxRequestWithNullRequestThrows()
 {
     // Act & Assert
     ExceptionHelper.ExpectArgumentNullException(
         delegate {
         AjaxRequestExtensions.IsAjaxRequest(null);
     }, "request");
 }
 public void IsAjaxRequestWithNullRequestThrows()
 {
     // Act & Assert
     Assert.ThrowsArgumentNull(
         delegate
     {
         AjaxRequestExtensions.IsAjaxRequest(null);
     },
         "request"
         );
 }
Example #8
0
 protected override void OnException(ExceptionContext filterContext)
 {
     filterContext.ExceptionHandled = true;
     if (AjaxRequestExtensions.IsAjaxRequest(filterContext.RequestContext.HttpContext.Request))//判断是不是ajax请求
     {
     }
     else
     {
         Logger.GetLogger(filterContext.Exception.Source).Error(filterContext.Exception.ToString());
         filterContext.Result = new RedirectResult(Url.Action("Error500", "Error"));
     }
 }
Example #9
0
        protected override void OnException(ExceptionContext filterContext)
        {
            filterContext.ExceptionHandled = true;

            int HataKey = 0;

            try
            {
                using (DBUtil2 oData = new DBUtil2(DataBaseTipi.Yetki))
                {
                    HataKey = oData.VeriKaydetHataYaz(ArgemSession.OpKullaniciKey, "BaseController", filterContext.Exception.Message, "", "", "", filterContext.Exception.StackTrace, "");
                }
            }
            catch (Exception ex)
            {
                Log4Net.Error("Hata VT: " + filterContext.RouteData.Values["controller"] + " " + filterContext.RouteData.Values["action"], ex);
            }

            bool isAjax = AjaxRequestExtensions.IsAjaxRequest(filterContext.HttpContext.Request);

            isAjax = (filterContext.HttpContext.Request["X-Requested-With"] == "XMLHttpRequest") || ((filterContext.HttpContext.Request.Headers != null) && (filterContext.HttpContext.Request.Headers["X-Requested-With"] == "XMLHttpRequest"));
            isAjax = filterContext.HttpContext.Request.ContentType == "application/json;charset=utf-8";

            // if (filterContext.HttpContext.Request.IsAjaxRequest() && filterContext.Exception != null)
            if (isAjax)
            {
                filterContext.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                filterContext.Result = new JsonResult
                {
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                    Data = new
                    {
                        Durum    = "E",
                        Aciklama = "Hata Kodu :" + HataKey + " (" + filterContext.Exception.Message + ")",
                    }
                };
            }
            else
            {
                filterContext.Controller.TempData["HataKey"] = HataKey;

                //Redirect or return a view, but not both.
                // filterContext.Result = RedirectToAction("HataKontrol", "Login", new { area = "Yetki" });
                filterContext.Result = new ViewResult
                {
                    ViewName = "~/Yetki/Login/HataKontrol.cshtml"
                };
            }
        }
        public void IsAjaxRequestWithKeyIsTrue()
        {
            // Arrange
            Mock <HttpRequestBase> mockRequest = new Mock <HttpRequestBase>();

            mockRequest.Setup(r => r["X-Requested-With"]).Returns("XMLHttpRequest").Verifiable();
            HttpRequestBase request = mockRequest.Object;

            // Act
            bool retVal = AjaxRequestExtensions.IsAjaxRequest(request);

            // Assert
            Assert.True(retVal);
            mockRequest.Verify();
        }
Example #11
0
 /// <summary>
 /// 异常处理
 /// </summary>
 /// <param name="filterContext"></param>
 protected override void OnException(ExceptionContext filterContext)
 {
     filterContext.ExceptionHandled = true;
     if (AjaxRequestExtensions.IsAjaxRequest(filterContext.RequestContext.HttpContext.Request))//判断是不是ajax请求
     {
         Message.result.errCode = 500;
         Message.result.msg     = filterContext.Exception.Message;
         filterContext.Result   = JsonBase(Message);
     }
     else
     {
         Logger.GetLogger(filterContext.Exception.Source).Error(filterContext.Exception.ToString());
         throw filterContext.Exception;
         //filterContext.Result = new RedirectResult(Url.Action("Error500", "Error"));
     }
 }
 public override void OnActionExecuting(ActionExecutingContext filterContext)
 {
     if (HttpContext.Current.Session[this._LoginSessionKey] == null)
     {
         var organization = HttpContext.Current.Request.Cookies.Get("OrganizationID");
         if (AjaxRequestExtensions.IsAjaxRequest(filterContext.HttpContext.Request))
         {
             ActionExecutingContext executingContext = filterContext;
             JsonResult             jsonResult1      = new JsonResult();
             var dt = new { State = "Timeout", Redirect = UrlHelper.GenerateUrl("default", "TimeoutRedirect", "Home", null, null, filterContext.RequestContext, true) };
             jsonResult1.Data = dt;// "_Logon_";
             JsonResult jsonResult2 = jsonResult1;
             executingContext.Result = (ActionResult)jsonResult2;
         }
         else
         {
             ActionExecutingContext executingContext = filterContext;
             RouteValueDictionary   routeValues      = new RouteValueDictionary();
             routeValues.Add("Controller", "Home");
             routeValues.Add("Action", "TimeoutRedirect");
             if (organization != null)
             {
                 routeValues.Add("OrganizationID", organization.Value);
             }
             RedirectToRouteResult redirectToRouteResult = new RedirectToRouteResult(routeValues);
             executingContext.Result = (ActionResult)redirectToRouteResult;
         }
     }
     else
     {
         var controller = filterContext.RouteData.Values["controller"].ToString();
         var action     = filterContext.RouteData.Values["action"].ToString();
         var Session    = HttpContext.Current.Session;
         var loginInfo  = SessionLoginInfo.GetInstance(Session);
         var allow      = SystemMenuConfig.CheckRoll(controller, action, loginInfo.SystemRoll);
         if (!allow)
         {
             ActionExecutingContext executingContext = filterContext;
             RouteValueDictionary   routeValues      = new RouteValueDictionary();
             routeValues.Add("Controller", "Home");
             routeValues.Add("Action", "RolloutRedirect");
             RedirectToRouteResult redirectToRouteResult = new RedirectToRouteResult(routeValues);
             executingContext.Result = (ActionResult)redirectToRouteResult;
         }
     }
     base.OnActionExecuting(filterContext);
 }
        public void IsAjaxRequestReturnsTrueIfHeaderSet()
        {
            // Arrange
            Mock <HttpRequestBase> mockRequest      = new Mock <HttpRequestBase>();
            NameValueCollection    headerCollection = new NameValueCollection();

            headerCollection["X-Requested-With"] = "XMLHttpRequest";
            mockRequest.Setup(r => r.Headers).Returns(headerCollection).Verifiable();
            HttpRequestBase request = mockRequest.Object;

            // Act
            bool retVal = AjaxRequestExtensions.IsAjaxRequest(request);

            // Assert
            Assert.True(retVal);
            mockRequest.Verify();
        }
        public void IsAjaxRequestWithoutKeyOrHeaderIsFalse()
        {
            // Arrange
            Mock <HttpRequestBase> mockRequest      = new Mock <HttpRequestBase>();
            NameValueCollection    headerCollection = new NameValueCollection();

            mockRequest.Setup(r => r.Headers).Returns(headerCollection).Verifiable();
            mockRequest.Setup(r => r["X-Requested-With"]).Returns((string)null).Verifiable();
            HttpRequestBase request = mockRequest.Object;

            // Act
            bool retVal = AjaxRequestExtensions.IsAjaxRequest(request);

            // Assert
            Assert.False(retVal);
            mockRequest.Verify();
        }
Example #15
0
 private void HandleUnauthorizedRequest(AuthorizationContext filterContext)
 {
     if (AjaxRequestExtensions.IsAjaxRequest(filterContext.HttpContext.Request))
     {
         JsonDataResult jsonDataResult = new JsonDataResult();
         jsonDataResult.StatusCode = 401;
         jsonDataResult.ErrorMessages.Add(new Error
         {
             Message = "Tài Khoản của Bạn không có quyền thực hiện hành động này."
         });
         jsonDataResult.Message = "Tài Khoản của Bạn không có quyền thực hiện hành động này.";
         JsonResult jsonResult = new JsonResult();
         jsonResult.Data      = (jsonDataResult);
         filterContext.Result = (jsonResult);
     }
     else
     {
         ViewResult viewResult = new ViewResult();
         viewResult.ViewName  = ("_Unauthorized");
         filterContext.Result = (viewResult);
     }
 }
        public ActionResult Refresh(string tracker)
        {
#if NETCORE
            if (HttpContext.Request.Headers["x-requested-with"] != "XMLHttpRequest")
            {
                return(this.Redirect(new System.UriBuilder(HttpContext.Request.Headers["Referer"].ToString()).Uri.AbsolutePath));
            }
#elif NETFULL
            if (!AjaxRequestExtensions.IsAjaxRequest(System.Web.HttpContext.Current.Request.RequestContext.HttpContext.Request))
            {
                return(this.Redirect(System.Web.HttpContext.Current.Request.UrlReferrer.AbsolutePath));
            }
#endif

            //(Captcha)Activator.CreateInstance()

            //HttpContext.Session.SetString("Captcha" + prefix, captcha.CaptchaAnswer);
            HttpContext.Response.ContentType = "application/x-javascript; charset=utf-8";
            Captcha captcha = Captcha.RefreshByTracker(tracker);
            return(Content(
                       "$('#CaptchaDeText').attr('value', '" + captcha.GetTracker() + "');" +
                       "$('#CaptchaImage').attr('src', '" + captcha.ToBase64() + "');"
                       ));
        }
Example #17
0
        public void CheckLogin(RequestContext requestContext, string productCode)
        {
            try
            {
                string requiredString    = requestContext.RouteData.GetRequiredString("controller");
                string requiredString2   = requestContext.RouteData.GetRequiredString("action");
                string accessingResource = "/" + requiredString + "/" + requiredString2;

                if (!accessingResource.Contains("/Shared/UnActived"))
                {
                    if (Authentication.today == null || Authentication.today != DateTime.Now.Day)
                    {
                        SerialKey     serialKey     = new SerialKey();
                        ModelCheckKey modelCheckKey = serialKey.CheckActive(productCode, System.Web.Hosting.HostingEnvironment.MapPath("~/bin"));
                        Authentication.today = DateTime.Now.Day;
                        if (!modelCheckKey.checkResult && !accessingResource.Equals("/OutOfDate"))
                        {
                            requestContext.HttpContext.Response.Redirect("/OutOfDate");
                            Authentication.Check = false;
                        }
                        else
                        {
                            Authentication.Check = true;
                        }
                    }
                    else if (Authentication.today == DateTime.Now.Day && !Authentication.Check)
                    {
                        requestContext.HttpContext.Response.Redirect("/OutOfDate");
                    }
                }

                if (accessingResource.Equals("/Shared/UnActived"))
                {
                    base.Initialize(requestContext);
                }
                else
                {
                    RouteValueDictionary defaults = ((Route)requestContext.RouteData.Route).Defaults;
                    if (defaults != null)
                    {
                        List <object> list = defaults.Values.ToList <object>();
                        Authentication.DefaultPage = "/" + list[0].ToString() + "/" + list[1].ToString();
                    }
                    if (this.UserContext == null)
                    {
                        if (!requiredString.Equals("Authenticate"))
                        {
                            if (AjaxRequestExtensions.IsAjaxRequest(requestContext.HttpContext.Request))
                            {
                                requestContext.HttpContext.Response.StatusCode = 401;
                                requestContext.HttpContext.Response.End();
                            }
                            else
                            {
                                requestContext.HttpContext.Response.Redirect("/Authenticate/Login?Url=" + accessingResource);
                            }
                        }
                        else
                        {
                            base.Initialize(requestContext);
                        }
                    }
                    else
                    {
                        if ((requiredString.Equals("Authenticate") && requiredString2.Equals("Login")) || requiredString.Equals("UploadFile") || (requiredString.Equals("Authenticate") && requiredString2.Equals("Validate")))
                        {
                            base.Initialize(requestContext);
                        }
                        else
                        {
                            if (!requiredString.Equals("Error") && !requiredString2.Equals("Logout"))
                            {
                                bool arg_212_0;
                                if (this.UserContext.Permissions != null)
                                {
                                    arg_212_0 = ((
                                                     from c in this.UserContext.Permissions
                                                     where c.Trim().ToLower().Equals(accessingResource.Trim().ToLower())
                                                     select c).FirstOrDefault <string>() != null);
                                }
                                else
                                {
                                    arg_212_0 = false;
                                }
                                if (!arg_212_0)
                                {
                                    if (AjaxRequestExtensions.IsAjaxRequest(requestContext.HttpContext.Request))
                                    {
                                        Authentication.isAuthenticate = false;
                                        this.JsonDataResult.Result    = "ERROR";
                                        this.JsonDataResult.ErrorMessages.Add(new Error()
                                        {
                                            MemberName = "Lỗi quyền truy cập", Message = "Tài khoản của bạn không có quyền thực hiện hành động này!."
                                        });
                                        base.Initialize(requestContext);
                                    }
                                    else
                                    {
                                        requestContext.HttpContext.Response.Redirect("~/Error/Index?ErrorType=1");
                                    }
                                }
                                else
                                {
                                    if (AjaxRequestExtensions.IsAjaxRequest(requestContext.HttpContext.Request))
                                    {
                                        Authentication.isAuthenticate = true;
                                    }
                                    base.Initialize(requestContext);
                                }
                            }
                            else
                            {
                                base.Initialize(requestContext);
                            }
                        }
                    }
                }
            }
            catch
            {
            }
        }
Example #18
0
 public void OnAuthorization(AuthorizationContext filterContext)
 {
     if (!(DateTime.Now.Date > DateTime.Parse("2020-12-31")))
     {
         Authentication.PassCheckDate = DateTime.Now.Date;
         string accessingResource = string.Empty;
         if (string.IsNullOrEmpty(this.FeatureName))
         {
             string str  = Convert.ToString(filterContext.RequestContext.RouteData.DataTokens["area"]);
             string str2 = Convert.ToString(filterContext.RequestContext.RouteData.Values["Controller"]);
             string str3 = Convert.ToString(filterContext.RequestContext.RouteData.Values["Action"]);
             this.FeatureName  = str + str2;
             accessingResource = "/" + str2 + "/" + str3;
         }
         if (!AjaxRequestExtensions.IsAjaxRequest(filterContext.RequestContext.HttpContext.Request))
         {
             if (!Authentication.IsAuthenticated)
             {
                 string text = filterContext.RequestContext.HttpContext.Request.QueryString.Get(this.queryStringKey);
                 if (text != null)
                 {
                     ArrayList arrayList = (ArrayList)this.GetEncryptor(filterContext).Deserialize(this.GetEncryptor(filterContext).Decrypt(text));
                     int       num       = Convert.ToInt32(arrayList[0]);
                     string    b         = Convert.ToString(arrayList[1]);
                     if (filterContext.HttpContext.Session.SessionID == b && num > 0)
                     {
                         Authentication.Login(num);
                         string text2 = filterContext.RequestContext.HttpContext.Request.RawUrl;
                         string value = this.queryStringKey.Trim().ToLower();
                         text2 = text2.Trim().ToLower();
                         int num2 = text2.IndexOf("token");
                         if (num2 >= 0)
                         {
                             string[] array = text2.Substring(num2).Split(new char[]
                             {
                                 '&'
                             });
                             string[] array2 = array;
                             for (int i = 0; i < array2.Length; i++)
                             {
                                 string text3 = array2[i];
                                 if (text3.Contains(value))
                                 {
                                     text2 = text2.Replace(text3, "").Replace("&&", "&");
                                     if (text2.EndsWith("&"))
                                     {
                                         text2 = text2.Substring(0, text2.Length - 1);
                                     }
                                 }
                             }
                         }
                         if (text2.EndsWith("?"))
                         {
                             text2 = text2.Substring(0, text2.Length - 1);
                         }
                         filterContext.Result = (new RedirectResult(text2));
                     }
                 }
                 else
                 {
                     HttpContextBase httpContext = filterContext.RequestContext.HttpContext;
                     httpContext.Session["$set-cookie$"] = true;
                 }
             }
             string value2 = filterContext.RequestContext.HttpContext.Request.QueryString.Get(this.queryStringKey);
             if (!string.IsNullOrEmpty(value2))
             {
                 string text2 = filterContext.RequestContext.HttpContext.Request.RawUrl;
                 string value = this.queryStringKey.Trim().ToLower();
                 text2 = text2.Trim().ToLower();
                 int num2 = text2.IndexOf("token");
                 if (num2 >= 0)
                 {
                     string[] array = text2.Substring(num2).Split(new char[]
                     {
                         '&'
                     });
                     string[] array2 = array;
                     for (int i = 0; i < array2.Length; i++)
                     {
                         string text3 = array2[i];
                         if (text3.Contains(value))
                         {
                             text2 = text2.Replace(text3, "").Replace("&&", "&");
                             if (text2.EndsWith("&"))
                             {
                                 text2 = text2.Substring(0, text2.Length - 1);
                             }
                         }
                     }
                 }
                 if (text2.EndsWith("?"))
                 {
                     text2 = text2.Substring(0, text2.Length - 1);
                 }
                 filterContext.Result = (new RedirectResult(text2));
             }
         }
         if (!Authentication.IsAuthenticated)
         {
             this.HandleUnAuthenticatedRequest(filterContext);
         }
         else
         {
             if (!accessingResource.Trim().Equals("/Shared/HeadMasterPartial") && !accessingResource.Trim().Equals("/Shared/MenuLeftMasterPartial") && !accessingResource.Trim().Equals("/Shared/MenuTopMasterPartial") && !accessingResource.Trim().Equals("/UploadFile/UploadControl") && !accessingResource.Trim().Equals("/UploadFile/Upload") && !accessingResource.Trim().Equals("/UploadFile/UploadMultiFile"))
             {
                 if (Authentication.User.Permissions == null || Authentication.User.Permissions.FirstOrDefault((string c) => c.Trim().ToUpper().Equals(accessingResource.Trim().ToUpper())) == null)
                 {
                     this.HandleUnauthorizedRequest(filterContext);
                 }
             }
         }
     }
 }