public void Delete(int id) { SysRoleRight entity = this.GetEntity(id); db.Entry(entity).State = System.Data.Entity.EntityState.Deleted; db.SaveChanges(); }
public bool SetRoleRights(string roleID, string SysRightsID, out string msg) { SqlParameter param = new SqlParameter("@RoleID", roleID); roleRightService.ExecuteSql("DELETE FROM dbo.SysRoleRight WHERE RoleID=@RoleID", out msg, param); if (!string.IsNullOrEmpty(SysRightsID)) { SysRightsID.Split(',').ToList().ForEach(rightid => { if (!string.IsNullOrEmpty(rightid)) { var roleRight = new SysRoleRight() { ID = IdentityCreator.NextIdentity, RightID = rightid, RoleID = roleID, }; roleRightService.Add(roleRight); } }); return(roleRightService.SaveChanges(out msg) > 0); } else { return(true); } }
/// <summary> /// 新增角色权限 /// </summary> /// <param name="userId">用户id</param> /// <param name="rightIds">权限集合</param> /// <param name="createId">创建者id</param> /// <returns></returns> /// author:duanxianghai 2015-12-2 14:28:37 public int AddRoleRightForUser(int userId, List <int> rightIds, int createId = 0) { //已经具有的权限 var pastRightId = db.SysRoleRights.Where(c => c.UserId == userId).Select(c => (int)c.RightId); //新选择的权限 var addedRightId = rightIds.Where(c => !pastRightId.Contains(c)).ToList(); //要删除的权限 var deleteRightId = pastRightId.Where(c => !rightIds.Contains(c)).ToList(); List <SysRoleRight> list = new List <SysRoleRight>(); //新增 for (int i = 0; i < addedRightId.Count; i++) { SysRoleRight model = new SysRoleRight() { UserId = userId, CreateTime = DateTime.Now, RightId = addedRightId[i], CreateId = createId }; list.Add(model); } db.SysRoleRights.AddRange(list); //删除 var deleteList = db.SysRoleRights.Where(c => deleteRightId.Contains((int)c.RightId) && c.UserId == userId); db.SysRoleRights.RemoveRange(deleteList); var n = db.SaveChanges(); //var r = db.SysRoleRights.Where(c => c.RoleId == userId).Select(c => c.RightId); //var b = db.SysRightInfos.Where(c => !r.Contains(c.ParentId) && r.Contains(c.Id)); //if (b.Any()) //{ // list.Clear(); // foreach (var bb in b) // { // if (bb.ParentId == 0) // { // continue; // } // SysRoleRight model = new SysRoleRight() { RoleId = userId, CreateTime = DateTime.Now, RightId = bb.ParentId, CreateId = createId }; // list.Add(model); // } // db.SysRoleRights.AddRange(list); // n += db.SaveChanges(); //} return(n); }
public int AddRoleRight(SysRoleRight model) { using (var conn = new SqlConnection(ConnectionStr.FxDb)) { conn.Open(); string sql = "INSERT INTO SysRoleRight(RoleId,MenuId) VALUES(@RoleId,@MenuId)"; return(conn.Execute(sql, new { RoleId = model.RoleId, MenuId = model.MenuId })); } }
public int UpdateRoleRight(SysRoleRight model) { using (var conn = new SqlConnection(ConnectionStr.FxDb)) { conn.Open(); string sql = "UPDATE SysRoleRight SET RoleId=@RoleId,MenuId=@MenuId WHERE Id=@Id"; return(conn.Execute(sql, new { Id = model.ID, RoleId = model.RoleId, MenuId = model.MenuId })); } }
/// <summary> /// 验证该登入用户是否有权限设置配置项 /// </summary> /// <param name="nodePath"></param> /// <param name="result"></param> /// <returns></returns> private bool ValidateRight(string nodePath, LoadTreeResponseDTO result, bool isAddNode) { LoginUserInfo loginUserInfo = this.WorkContext.CurrentUser; string[] s = nodePath.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); int appId = 0; if (s.Length < 2) { result.IsSuccess = false; result.Message = string.Format("很抱歉,参数nodePath【{0}】传错,请联系系统管理员处理!", nodePath); return(false); } int.TryParse(s[1], out appId); if (appId < 1) { result.IsSuccess = false; result.Message = string.Format("根节点【ConfigService】下的第一层节点应是应用程序ID号,请联系系统管理员处理!", nodePath); if (isAddNode) { result.Message = string.Format("根节点【ConfigService】下的第一层节点应是应用程序ID号!", nodePath); } return(false); } SysRoleRightLogic logic = new SysRoleRightLogic(); SysRoleRight sysRoleRight = logic.GetRoleRight(false, loginUserInfo.RoleId, loginUserInfo.UserId, 0, AppSettingsHelper.ConfigCenterMenuName, appId); if (sysRoleRight == null) { result.IsSuccess = false; result.Message = string.Format("很抱歉,您没有权限操作该应用【{0}】下的各配置项;请先为该应用开通下设置权限!", appId); return(false); } return(true); }
public void Delete(SysRoleRight entity) { db.Entry(entity).State = System.Data.Entity.EntityState.Deleted; db.SaveChanges(); }
public void Update(SysRoleRight entity) { db.Entry(entity).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); }
public void Add(SysRoleRight entity) { db.SysRoleRights.Add(entity); db.SaveChanges(); }
public string LoadTree(int?id) { LoadTreeResponseDTO result = new LoadTreeResponseDTO(); JavaScriptSerializer serialize = new JavaScriptSerializer(); result.ZNodeList = new List <TreeZNode>(); TreeZNode root = new TreeZNode(1, true, "/", "/", 0); result.ZNodeList.Add(root); me = new JZooKeeperClient(); result.IsSuccess = me.GetNodeList(root, result.ZNodeList, ref result.Message); if (!result.IsSuccess) { return(serialize.Serialize(result)); } /* * List<TreeZNode> treeNodeList = result.ZNodeList.Where(i => i.NodePath.IndexOf("/ConfigService") > -1 && i.pId == (id ?? 0)).OrderBy(x => x.name).ToList<TreeZNode>(); */ ///* List <TreeZNode> treeNodeList = result.ZNodeList.Where(i => i.NodePath.IndexOf("/ConfigService") > -1).OrderBy(x => x.name).ToList <TreeZNode>(); //*/ if (treeNodeList == null || treeNodeList.Count < 1) { result.ZNodeList = treeNodeList; result.IsSuccess = false; result.Message = "目前没有配置项数据;请联系运维或系统管理员加【ConfigService】配置项。"; return(serialize.Serialize(result)); } //根据配置中心权限的设置显示节点: LoginUserInfo loginUserInfo = this.WorkContext.CurrentUser; int loginRoleId = loginUserInfo.RoleId; int loginUserId = loginUserInfo.UserId; switch (loginRoleId) { case 2: //2表示系统管理员角色 case 4: //4表示运维角色 break; case 7: //7表示国内开发主管角色 case 8: //8表示国际开发主管角色 SysRoleRightLogic logic = new SysRoleRightLogic(); SysRoleRight sysRoleRight = logic.GetRoleRight(true, loginRoleId, 0, 0, AppSettingsHelper.ConfigCenterMenuName, 0); if (sysRoleRight == null) { result.IsSuccess = false; result.Message = "很抱歉,您没有权限进行配置;请联系运维或系统管理员开通下设置页面的访问权限!"; break; } List <SysRoleRight> roleRightList = logic.GetRoleRightList(loginRoleId, true, loginUserId).ToList <SysRoleRight>(); if (roleRightList == null || roleRightList.Count < 1) { treeNodeList = treeNodeList.Where(node => node.NodePath.Equals("/ConfigService")).ToList <TreeZNode>(); break; } List <string> appIdStringList = roleRightList.Select(r => r.AppIdString).ToList <string>(); List <TreeZNode> tempList = treeNodeList.Where(n => n.NodePath.Equals("/ConfigService")).ToList <TreeZNode>(); foreach (string appId in appIdStringList) { List <TreeZNode> list = treeNodeList.Where(n => n.NodePath.IndexOf("/ConfigService/" + appId) > -1).ToList(); if (list != null && list.Count > 0) { tempList.InsertRange(tempList.Count - 1, list); } } treeNodeList = tempList; break; default: //只有具有系统管理员、运维、国内/国际开发主管角色的登入用户才有权限进行配置 result.IsSuccess = false; result.Message = "很抱歉,您没有权限进行配置!"; break; } result.ZNodeList = treeNodeList.OrderBy(x => x.name).ToList <TreeZNode>(); return(serialize.Serialize(result)); }