Example #1
0
        public void OnAuthorization(AuthorizationContext filterContext)
        {
            bool   isFailed = false;
            string message  = "";
            var    account  = filterContext.HttpContext.Request.Cookies["AdminAccount"];

            if (account == null)
            {
                message  = "Đăng nhập để tiếp tục.";
                isFailed = true;
            }
            else
            {
                using (var dataContext = new ElectronicComponentsSMEntities())
                {
                    var id    = int.Parse(account["ID"]);
                    var model = dataContext.Employees.Find(id);
                    if (model.JobTitleID == null)
                    {
                        message  = "Tài khoản đã bị khóa";
                        isFailed = true;
                    }
                    else if (model.Password != account["Password"])
                    {
                        message  = "Mật khẩu đã bị thay đổi, vui lòng đăng nhập lại";
                        isFailed = true;
                    }
                }
            }
            if (isFailed)
            {
                HttpCookie userCookie = new HttpCookie("AdminAccount");
                userCookie.Expires = DateTime.Now.AddDays(-1);
                filterContext.HttpContext.Response.SetCookie(userCookie);
                filterContext.Controller.TempData["Message"] = message;
                filterContext.Result = new RedirectResult("/Administrator/Account/SignIn");
            }
            else if (Order != -1 && !Check(Order, int.Parse(account["JobID"] ?? "0")))
            {
                filterContext.Controller.TempData["Message"] = "Bạn không có quyền hạn truy cập.";
                filterContext.Result = new RedirectResult("/Administrator/Account/SignIn");
            }
        }
        public void OnAuthorization(AuthorizationContext filterContext)
        {
            bool   isFailed = false;
            string message  = "";
            var    account  = filterContext.HttpContext.Request.Cookies["Account"];

            if (account == null)
            {
                message  = "Đăng nhập để tiếp tục.";
                isFailed = true;
            }
            else
            {
                using (var dataContext = new ElectronicComponentsSMEntities())
                {
                    var id    = int.Parse(account["ID"]);
                    var model = dataContext.Customers.Find(id);
                    if (model.IsDisabled)
                    {
                        message  = "Tài khoản đã bị khóa";
                        isFailed = true;
                    }
                    else if (model.Password != account["Password"])
                    {
                        message  = "Mật khẩu đã bị thay đổi, vui lòng đăng nhập lại";
                        isFailed = true;
                    }
                }
            }
            if (isFailed)
            {
                HttpCookie userCookie = new HttpCookie("Account");
                userCookie.Expires = DateTime.Now.AddDays(-1);
                filterContext.HttpContext.Response.SetCookie(userCookie);
                filterContext.Controller.TempData["Message"] = message;
                filterContext.Result = new RedirectResult("/Account/SignIn?returnUrl=" + filterContext.HttpContext.Request.Url.PathAndQuery);
            }
        }