Ejemplo n.º 1
0
 /// <summary>
 /// Điều hướng đến trang login.
 /// Author       :   QuyPN - 28/05/2018 - create
 /// </summary>
 /// <returns>Trang view login, nếu có lỗi sẽ rả về trang error</returns>
 /// <remarks>
 /// Method: GET
 /// RouterName: UserLogin
 /// </remarks>
 public ActionResult Index()
 {
     try
     {
         int idAccount = XacThuc.GetIdAccount();
         if (idAccount != 0)
         {
             return(RedirectToAction("Index", "Home", new { area = "home" }));
         }
         return(View());
     }
     catch (Exception e)
     {
         return(RedirectToAction("Error", "Error", new { area = "error", error = e.Message }));
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Ghi đè phương thức dùng để lọc request.
        /// Author       :   QuyPN - 24/09/2017 - create
        /// </summary>
        /// <param name="filterContext">
        /// Data của 1 request.
        /// </param>
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //Lấy data request
            var data = filterContext.RouteData;
            //Giá trị check có phải là ajax không
            bool   isAjax     = filterContext.HttpContext.Request.IsAjaxRequest();
            string controller = (string)data.Values["controller"];
            string action     = (string)data.Values["action"];
            string token      = Common.GetCookie("token");

            if (token != "")
            {
                if (isAjax)
                {
                    //Nếu là ajax và không có quyền truy cập action này
                    if (!XacThuc.CheckAuthentication(token, controller, action))
                    {
                        //Chuyển qua action của controller xử lý lỗi không có quyền truy cập cho ajax
                        filterContext.Result = new RedirectToRouteResult(
                            new RouteValueDictionary(new { controller = "Error", action = "NotAccessAjax", area = "error" })
                            );
                    }
                }
                else
                {
                    //Nếu không phải là ajax và không có quyền truy cập action này
                    if (!XacThuc.CheckAuthentication(token, controller, action))
                    {
                        //Trả về trang lỗi không có quyền truy cập
                        filterContext.Result = new RedirectToRouteResult(
                            new RouteValueDictionary(new { controller = "Error", action = "NotAccess", area = "error" })
                            );
                    }
                }
            }
            base.OnActionExecuting(filterContext);
        }