Ejemplo n.º 1
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);

            Config(filterContext);

            if (Access == null)
            {
                LoginViewModel model = new LoginViewModel();
                if (!string.IsNullOrEmpty(_UsernameFieldName))
                {
                    model.UsernameField = _UsernameFieldName;
                }
                if (!string.IsNullOrEmpty(_PasswordFieldName))
                {
                    model.PasswordField = _PasswordFieldName;
                }

                if (!string.IsNullOrEmpty(model.UsernameValue) && !string.IsNullOrEmpty(model.PasswordValue))
                {
                    try
                    {
                        Access = Access.Login(model.UsernameValue, model.PasswordValue);

                        return;
                    }
                    catch (UnauthorizedAccessException ex)
                    {
                        model.Message = ex.Message;
                    }
                    catch (Exception ex)
                    {
                        model.Message = "Lỗi hệ thống, vui lòng liên hệ quản trị viên để kiểm tra lại thông tin!";
                        NhatKy.Loi("Người dùng đăng nhập", ex.Message);
                    }
                }

                filterContext.Result = View(_ViewPath, model);
                OnEnter(null);
            }
            else
            {
                OnEnter(Access);
            }
        }
Ejemplo n.º 2
0
        protected override void OnActionExecuting(ActionExecutingContext ctx)
        {
            base.OnActionExecuting(ctx);

            Config(ctx);

            if (Access == null)
            {
                LoginViewModel model = new LoginViewModel();
                if (!string.IsNullOrEmpty(_UsernameFieldName))
                {
                    model.UsernameField = _UsernameFieldName;
                }
                if (!string.IsNullOrEmpty(_PasswordFieldName))
                {
                    model.PasswordField = _PasswordFieldName;
                }

                if (!string.IsNullOrEmpty(model.UsernameValue) && !string.IsNullOrEmpty(model.PasswordValue))
                {
                    try
                    {
                        Access     = Access.Login(model.UsernameValue, model.PasswordValue);
                        ctx.Result = RedirectToRoute(ctx.RouteData.Values);
                        return;
                    }
                    catch (UnauthorizedAccessException ex)
                    {
                        model.Message = ex.Message;
                    }
                    catch (Exception ex)
                    {
                        model.Message = "Lỗi hệ thống, vui lòng liên hệ quản trị viên để kiểm tra lại thông tin!";
                        NhatKy.Loi("Người dùng đăng nhập", ex.Message);
                    }
                }

                ctx.Result = View(_ViewPath, model);
                OnEnter(null);
            }
            else
            {
                if (AccessCheckingPermission_Enabled)
                {
                    var _  = Url.Content("~");
                    var __ = Url.Content(Request.Path);
                    if (_ != __)
                    {
                        if (QuanLyTaiKhoan.Context.DB.HT_Quyens.FirstOrDefault(q => q.Rule == __ && q.NhomQuyen == AccessCheckingPermission_GroupPermission) == null)
                        {
                            QuanLyTaiKhoan.Context.ThemQuyen(AccessCheckingPermission_GroupPermission, __, __);
                        }
                        if (!Access.DuocPhep(__, AccessCheckingPermission_GroupPermission))
                        {
                            ctx.Result = AccessCheckingPermission_DenyResult;
                        }
                    }
                }
                OnEnter(Access);
            }
        }