Пример #1
0
        /// <summary>
        /// 权限拦截
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (filterContext == null)
            {
                throw new ArgumentNullException("filterContext");
            }

            //接下来进行权限拦截与验证
            if (!this.AuthorizeCore(filterContext))//根据验证判断进行处理
            {
                //是否ajax请求
                bool isAjax = filterContext.HttpContext.Request.IsAjaxRequest();

                if (isAjax)
                {
                    //未登录验证
                    if (!filterContext.HttpContext.Request.IsAuthenticated)
                    {
                        //跳转到登录页面
                        filterContext.Result = DWZHelper.ReturnTimeout("登录超时,请重新登录");
                        return;
                    }

                    filterContext.Result = DWZHelper.ReturnErrorAndClose("您没有权限执行此操作!");//功能权限弹出提示框
                    return;
                }

                //跳转到登录页面
                JavaScriptResult scriptResult = new JavaScriptResult();
                scriptResult.Script  = "<script>window.location.href='/login';</script>";
                filterContext.Result = scriptResult;
                return;
            }
        }
Пример #2
0
        public ActionResult MiniLogin(LoginVM loginModel)
        {
            SysUserVM sysUser = _accountBizProcess.Login(loginModel.SysUserName, loginModel.PasswordHash);

            if (sysUser != null)
            {
                UserInfo userInfo = sysUser.ToUserInfo();
                FormsPrincipal <UserInfo> .Login(sysUser.UserName, userInfo, 30);

                //登录成功写cookie
                var userNameCookie = new HttpCookie("username", sysUser.UserName);
                userNameCookie.Expires = DateTime.Now.AddDays(365);
                var rememberMeCookie = new HttpCookie("rememberme", loginModel.RememberMe.ToString().ToLower());
                userNameCookie.Expires = DateTime.Now.AddDays(365);

                Response.Cookies.Add(userNameCookie);

                return(DWZHelper.ReturnSuccAndClose("欢迎您回来!"));
            }
            else
            {
                return(DWZHelper.ReturnError("账号或密码输入错误"));
            }
        }