Exemplo n.º 1
0
        public ActionResult ChangeAction()
        {
            int userid = Request["userid"] != null?int.Parse(Request["userid"]) : 0;

            int actionid = Request["actionid"] != null?int.Parse(Request["actionid"]) : 0;

            bool isAllow = Request["radiovalue"].ToString() == "true" ? true : false;
            R_UserInfo_ActionInfo useraction = R_UserInfo_ActionInfoService.LoadEntities(u => u.UserInfoID == userid && u.ActionInfoID == actionid).FirstOrDefault();

            if (useraction == null)//R_UserInfo_ActionInfo表里未有该记录
            {
                //添加记录
                R_UserInfo_ActionInfo newuseraction = new R_UserInfo_ActionInfo
                {
                    UserInfoID   = userid,
                    ActionInfoID = actionid,
                    IsPass       = isAllow
                };
                R_UserInfo_ActionInfoService.AddEntity(newuseraction);
                return(Content("成功修改权限"));
            }
            else
            {
                //修改记录
                useraction.IsPass = isAllow;
                R_UserInfo_ActionInfoService.EditEntity(useraction);
                return(Content("成功修改权限"));
            }
        }
Exemplo n.º 2
0
        public ActionResult  DeleteUserAction(int uid, int actionId)
        {
            var rUser = R_UserInfo_ActionInfoService.GetEntities(r => r.ActionInfoID == actionId &&
                                                                 r.UserInfoID == uid).FirstOrDefault();

            if (rUser != null)
            {
                R_UserInfo_ActionInfoService.Delete(rUser.ID);
            }

            return(Content("OK"));
        }
Exemplo n.º 3
0
        //做一个删除特殊权限
        public ActionResult DeleteUserAction(int UId, int ActionId)
        {
            R_UserInfo_ActionInfo rUserAction = R_UserInfo_ActionInfoService.GetEntities(r => r.ActionInfoId == ActionId && r.UserInfoId == UId).FirstOrDefault();

            if (rUserAction != null)
            {
                //rUserAction.DelFlag = (short)Glove.IOT.Model.Enum.DelFlagEnum.Deleted;
                R_UserInfo_ActionInfoService.DeleteListByLogical(new List <int>()
                {
                    rUserAction.Id
                });
            }
            return(Content("Ok"));
        }
Exemplo n.º 4
0
        public ActionResult ShowPermissions()
        {
            int id   = Request["id"] == null ? 0 : int.Parse(Request["id"]);//获取从userinfo/index传来的id值
            var user = UserInfoService.LoadEntities(u => u.ID == id).FirstOrDefault();

            ViewBag.userInfo = user;
            short deFlag      = (short)DeleteEnumType.Normal;
            var   permissions = ActionInfoService.LoadEntities(a => a.DelFlag == deFlag).ToList();//获取所有的权限,不采用延迟加载,避免嵌套循环时,出错(未关闭sqldatareader)

            ViewBag.permissions = permissions;
            var userAction = R_UserInfo_ActionInfoService.LoadEntities(u => u.UserInfoID == id).ToList();//获取该用户对应的权限记录

            ViewBag.userAction = userAction;
            return(View());
        }
        //做一个删除  特殊权限。
        public ActionResult DeleteUserAction(int UId, int ActionId)
        {
            var rUserAction = R_UserInfo_ActionInfoService.GetEntities(r => r.DelFlag == DeleteFlag.DelflagNormal && r.ActionInfoID == ActionId && r.UserInfoID == UId)
                              .FirstOrDefault();

            if (rUserAction != null)
            {
                //rUserAction.DelFlag = (short) Heima8.OA.Model.Enum.DelFlagEnum.Deleted;
                R_UserInfo_ActionInfoService.DeleteListByLogical(new List <int>()
                {
                    rUserAction.ID
                });
            }
            return(Content("ok"));
        }
Exemplo n.º 6
0
        //设置当前用户的特殊权限
        public ActionResult SetUserAction(int UId, int ActionId, int Value)
        {
            R_UserInfo_ActionInfo rUserAction = R_UserInfo_ActionInfoService.GetEntities(r =>
                                                                                         r.ActionInfoId == ActionId && r.UserInfoId == UId && r.DelFlag == delflagNormal).FirstOrDefault();

            if (rUserAction != null)
            {
                rUserAction.HasPermission = Value == 1 ? true : false;
                R_UserInfo_ActionInfoService.Update(rUserAction);
            }
            else
            {
                R_UserInfo_ActionInfo rUserInfoActionInfo = new R_UserInfo_ActionInfo();
                rUserInfoActionInfo.ActionInfoId  = ActionId;
                rUserInfoActionInfo.UserInfoId    = UId;
                rUserInfoActionInfo.HasPermission = Value == 1 ? true : false;
                rUserInfoActionInfo.DelFlag       = delflagNormal;
                R_UserInfo_ActionInfoService.Add(rUserInfoActionInfo);
            }
            return(Content("Ok"));
        }
Exemplo n.º 7
0
        //当前用户设置特殊权限
        public ActionResult SetUserAction(int uid, int aid, int value)
        {
            int normal = (int)OA.Model.Enum.DelFlagEnum.Normal;
            var rUser  = R_UserInfo_ActionInfoService.GetEntities(r => r.UserInfoID == uid &&
                                                                  r.ActionInfoID == aid &&
                                                                  r.DelFlag == normal).FirstOrDefault();

            if (rUser != null)
            {
                rUser.HasPermission = value == 0 ? true : false;
                R_UserInfo_ActionInfoService.Update(rUser);
            }
            else
            {
                R_UserInfo_ActionInfo tmp = new R_UserInfo_ActionInfo();
                tmp.UserInfoID    = uid;
                tmp.ActionInfoID  = aid;
                tmp.HasPermission = value == 0 ? true : false;
                R_UserInfo_ActionInfoService.Add(tmp);
            }
            return(Content("OK"));
        }
Exemplo n.º 8
0
        public ActionResult CleanAction()
        {
            int userid = Request["userid"] != null?int.Parse(Request["userid"]) : 0;

            int actionid = Request["actionid"] != null?int.Parse(Request["actionid"]) : 0;

            R_UserInfo_ActionInfo useraction = R_UserInfo_ActionInfoService.LoadEntities(u => u.UserInfoID == userid && u.ActionInfoID == actionid).FirstOrDefault();

            if (useraction == null)//R_UserInfo_ActionInfo表里未有该记录
            {
                return(Content("noexsit"));
            }
            else
            {
                if (R_UserInfo_ActionInfoService.DeleteEntity(useraction))//删除
                {
                    return(Content("ok"));
                }
                else
                {
                    return(Content("fail"));
                }
            }
        }
Exemplo n.º 9
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);
            //var items = filterContext.RouteData.Values;

            if (isCheckUserLogin)
            {
                #region 验证用户登录
                if (Request.Cookies["userLoginId"] == null)
                {
                    filterContext.HttpContext.Response.Redirect("/UserLogin/Index");
                    return;
                }
                else
                {
                    string userGuid = Request.Cookies["userLoginId"].Value;
                    LoginUser = CacheHelper.GetCache(userGuid) as UserInfo;
                    if (LoginUser == null)
                    {
                        filterContext.HttpContext.Response.Redirect("/UserLogin/Index");
                        return;
                    }
                    CacheHelper.SetCache(userGuid, LoginUser, DateTime.Now.AddMinutes(20));
                }
                #endregion
                if (LoginUser.UName == "admin")
                {
                    return;
                }
                #region 校验权限

                string url        = Request.Url.AbsolutePath.ToLower();
                string httpMethod = Request.HttpMethod.ToLower();

                //通过容器创建一个对象;

                IActionInfoService            actionInfoService = new ActionInfoService();
                IR_UserInfo_ActionInfoService rUseActionService = new R_UserInfo_ActionInfoService();
                IUserInfoService userInfoService = new UserInfoService();

                ActionInfo actionInfo =
                    actionInfoService.GetEntities(a => url.Contains(a.Url.ToLower()) && a.HttpMethd.ToLower() == httpMethod)
                    .FirstOrDefault();
                if (actionInfo == null)
                {
                    Response.Redirect("/Error.html");
                    return;
                }
                //一号线
                IEnumerable <R_UserInfo_ActionInfo> rUserActions = rUseActionService.GetEntities(u => u.UserInfoID == LoginUser.ID);
                var item = (from a in rUserActions
                            where a.ActionInfoID == actionInfo.ID
                            select a).FirstOrDefault();
                if (item != null)
                {
                    if (item.HasPermission)
                    {
                        return;
                    }
                    else
                    {
                        Response.Redirect("/Error.html");
                        return;
                    }
                }
                //2号线
                var user     = userInfoService.GetEntities(u => u.ID == LoginUser.ID).FirstOrDefault();
                var allRoles = from r in user.RoleInfo
                               select r;
                var actions = from r in allRoles
                              from a in r.ActionInfo
                              select a;
                var temp = (from a in actions
                            where a.ID == actionInfo.ID
                            select a).Count();
                if (temp <= 0)
                {
                    Response.Redirect("/Error.html");
                }
                #endregion
            }
        }