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("成功修改权限")); } }
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")); }
//做一个删除特殊权限 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")); }
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")); }
//设置当前用户的特殊权限 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")); }
//当前用户设置特殊权限 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")); }
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")); } } }
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 } }