Exemple #1
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            string          controllerName = (filterContext.RouteData.Values["controller"]).ToString().ToLower();
            string          actionName     = (filterContext.RouteData.Values["action"]).ToString().ToLower();
            fixtureEntities db             = new fixtureEntities();

            if (actionName != "login" && actionName != "forgetpassword" && actionName != "forgetpassword1")
            {
                base.OnActionExecuting(filterContext);
                Employee user = (Employee)System.Web.HttpContext.Current.Session["user"];

                if (user == null)
                {
                    filterContext.Result = new RedirectResult("~/Home/Login");
                    return;
                }


                if (user.UserLevel == "初级用户")
                {
                    string action = controllerName + "-" + actionName;
                    var    exist  = db.Authorities.Where(a => a.junior.Contains(action)).ToArray().Length;
                    if (exist == 1)
                    {
                        //filterContext.Result = new RedirectResult("~/Home/Login");
                        filterContext.Result = noAuthorty();
                        return;
                    }
                }
                if (user.UserLevel == "高级用户")
                {
                    string action = controllerName + "-" + actionName;
                    var    exist  = db.Authorities.Where(a => a.senior.Contains(action)).ToArray().Length;
                    if (exist == 1)
                    {
                        //filterContext.Result = new RedirectResult("~/Home/Login");
                        filterContext.Result = noAuthorty();
                        return;
                    }
                }
                if (user.UserLevel == "监管员")
                {
                    string action = controllerName + "-" + actionName;
                    var    exist  = db.Authorities.Where(a => a.supervisor.Contains(action)).ToArray().Length;
                    if (exist == 1)
                    {
                        //filterContext.Result = new RedirectResult("~/Home/Login");
                        filterContext.Result = noAuthorty();
                        return;
                    }
                }
                if (user.UserLevel == "部门经理")
                {
                    string action = controllerName + "-" + actionName;
                    var    exist  = db.Authorities.Where(a => a.manger.Contains(action)).ToArray().Length;
                    if (exist == 1)
                    {
                        //filterContext.Result = new RedirectResult("~/Home/Login");
                        filterContext.Result = noAuthorty();
                        return;
                    }
                }
                if (user.UserLevel == "系统管理员")
                {
                    string action = controllerName + "-" + actionName;
                    var    exist  = db.Authorities.Where(a => a.admin.Contains(action)).ToArray().Length;
                    if (exist == 1)
                    {
                        //filterContext.Result = new RedirectResult("~/Home/Login");
                        filterContext.Result = noAuthorty();
                        return;
                    }
                }
            }
        }