public static RightEntity SaveRight(string badge, string dataJson, out bool state, out string msg) { RightEntity right = Serializer.ToObject <RightEntity>(dataJson); right.Operator = badge; right.OperateTime = DateTime.Now; if (RightEntity.DefaultDB.IsNew(right)) { if (RightEntity.GetListByProperty(a => a.RightUser, right.RightUser).Count > 0) { state = false; msg = "员工" + right.RightUserExp + "权限已存在!"; } else { state = right.Save(out msg); LogService.WriteLog(LogTypeEnum.操作日志, "权限管理", "新增权限:" + badge + "为" + right.RightUser + "分配了 " + right.RightName + " 权限"); } } else { RightEntity oldRight = RightEntity.GetSingle(right.Id); right.RightUser = oldRight.RightUser; state = right.Save(out msg); LogService.WriteLog(LogTypeEnum.操作日志, "权限管理", "修改权限:" + badge + "修改了" + right.RightUser + "的权限,从 " + oldRight.RightName + " 修改到 " + right.RightName); } return(right); }
/// <summary>修改节点属性 /// </summary> /// <param name="rightEntity"></param> /// <returns>1:成功 -1:失败 -2:已存在相同的url</returns> public int UpdateRight(RightEntity rightEntity) { RightDal rightDal = new RightDal(); int result = rightDal.Exist(rightEntity.Url); if (result > 0 && result != rightEntity.Id) { return(-2); } return(rightDal.UpdateRight(rightEntity) ? 1 : -1); }
/// <summary> /// 保存用户设置的权限 /// </summary> private void Save() { long UserID = NDConvert.ToInt64(drpPersonList.SelectedValue); new RightQuery().DeleteUserRight(UserID); UserEntity Pentity = new UserEntity(UserID); new MenuFunctionRightQuery().DeleteUserMenuFunctionRight(UserID); Node node = null; RightEntity entity = null; MenuFunctionRightEntity mfEntity = null; for (int i = 0; i < tvRight.CheckedNodes.Count; i++) { node = (Node)tvRight.CheckedNodes[i]; switch (node.Level) { case 0: case 1: entity = new RightEntity(); entity.UserID = UserID; entity.MenuID = NDConvert.ToInt64(node.DataKey.ToString()); new RightRule().Add(entity); break; case 2: if (MenuQuery.IsHaveChileMenu(NDConvert.ToInt64(node.Parent.DataKey.ToString()))) //判断是否有子菜单,如有有子菜单说明本层是菜单,如果没有则是菜单功能项 { entity = new RightEntity(); entity.UserID = UserID; entity.MenuID = NDConvert.ToInt64(node.DataKey.ToString()); new RightRule().Add(entity); } else { mfEntity = new MenuFunctionRightEntity(); mfEntity.FID = NDConvert.ToInt64(node.DataKey.ToString()); mfEntity.UserID = UserID; mfEntity.MenuID = NDConvert.ToInt64(node.Parent.DataKey.ToString()); new MenuFunctionRightRule().Add(mfEntity); } break; case 3: mfEntity = new MenuFunctionRightEntity(); mfEntity.FID = NDConvert.ToInt64(node.DataKey.ToString()); mfEntity.UserID = UserID; mfEntity.MenuID = NDConvert.ToInt64(node.Parent.DataKey.ToString()); new MenuFunctionRightRule().Add(mfEntity); break; } } }
private MenuEntity GetMenu(RightEntity rightEntity, PluginEntity pluginEntity) { string startWith = "/" + pluginEntity.Name + "/"; string replace = "/" + pluginEntity.Name + "/" + pluginEntity.PVersion + "/"; MenuEntity mm = new MenuEntity(rightEntity.Id, rightEntity.Name, "/plugins" + rightEntity.Url.Replace(startWith, replace), false, pluginEntity.Icon); foreach (var item in rightEntity.Children) { mm.Children.Add(GetMenu(item, pluginEntity)); } return(mm); }
/// <summary>添加节点 /// </summary> /// <param name="rightEntity"></param> /// <returns>1:成功 -1:失败 -2:已存在相同url的节点</returns> public int AddRight(RightEntity rightEntity) { RightDal rightDal = new RightDal(); if (rightDal.Exist(rightEntity.Url) > 0) { return(-2); } else { return(rightDal.AddRight(rightEntity)); } }
/// <summary>转换成实体类 /// </summary> /// <param name="dataRow"></param> /// <returns></returns> private RightEntity Conver2Entity(DataRow dataRow) { RightEntity rightEntity = new RightEntity(); rightEntity.Id = Int32.Parse(dataRow["Id"].ToString()); rightEntity.Name = (string)dataRow["Name"]; rightEntity.Url = (string)dataRow["Url"]; rightEntity.Level = Int32.Parse(dataRow["Level"].ToString()); rightEntity.ParentId = Int32.Parse(dataRow["ParentId"].ToString()); rightEntity.Describe = (string)dataRow["Describe"]; rightEntity.IsMenu = Int32.Parse(dataRow["IsMenu"].ToString()); rightEntity.Deleted = Int32.Parse(dataRow["Deleted"].ToString()); rightEntity.Category = Int32.Parse(dataRow["Category"].ToString()); return(rightEntity); }
/// <summary>修改权限 /// </summary> /// <param name="rightEntity"></param> /// <returns></returns> public bool UpdateRight(RightEntity rightEntity) { const string sql = "update t_rights set Name=@Name,Url=@Url,Level=@Level,ParentId=@ParentId,Describe=@Describe,IsMenu=@IsMenu,Deleted=@Deleted where Id=@Id"; SQLiteParameter[] para = new SQLiteParameter[] { new SQLiteParameter("@Name", rightEntity.Name), new SQLiteParameter("@Url", rightEntity.Url), new SQLiteParameter("@Level", rightEntity.Level), new SQLiteParameter("@ParentId", rightEntity.ParentId), new SQLiteParameter("@Describe", rightEntity.Describe), new SQLiteParameter("@IsMenu", rightEntity.IsMenu), new SQLiteParameter("@Deleted", rightEntity.Deleted), new SQLiteParameter("@Id", rightEntity.Id) }; int result = new SqlLiteHelper().RunSQL(sql, para); return(result > 0); }
/// <summary>获取权限列表 /// </summary> /// <returns>json字符串</returns> public RightEntity GetAllRights() { RightDal rightDal = new RightDal(); var rightEntities = rightDal.GetAllRights(); var rootEntities = rightEntities.Where(m => m.ParentId == 0); AppendChild(rootEntities, rightEntities); RightEntity rightEntity = new RightEntity(); rightEntity.Id = 0; rightEntity.IsMenu = 0; rightEntity.Level = 0; rightEntity.Name = "权限管理"; rightEntity.ParentId = 0; rightEntity.Url = ".."; rightEntity.Category = -1; rightEntity.Deleted = 0; rightEntity.Describe = ".."; rightEntity.Children = rootEntities.ToList(); return(rightEntity); }
/// <summary>添加一个节点 /// </summary> /// <param name="rightEntity"></param> /// <returns></returns> public int AddRight(RightEntity rightEntity) { string sql = "insert into t_rights (Name,Url,Level,ParentId,Describe,IsMenu,Deleted,Category) values (@Name,@Url,@Level,@ParentId,@Describe,@IsMenu,@Deleted,@Category);select last_insert_rowid();"; SQLiteParameter[] para = new SQLiteParameter[] { new SQLiteParameter("@Name", rightEntity.Name), new SQLiteParameter("@Url", rightEntity.Url), new SQLiteParameter("@Level", rightEntity.Level), new SQLiteParameter("@ParentId", rightEntity.ParentId), new SQLiteParameter("@Describe", rightEntity.Describe), new SQLiteParameter("@IsMenu", rightEntity.IsMenu), new SQLiteParameter("@Deleted", rightEntity.Deleted), new SQLiteParameter("@Category", rightEntity.Category) }; DataTable dataTable = new SqlLiteHelper().GetDataTable(sql, para); if (dataTable != null && dataTable.Rows.Count == 1) { return(Int32.Parse(dataTable.Rows[0][0].ToString())); } return(-1); }
public static void DeleteRight(string badge, string ids, out bool state, out string msg) { List <string> idList = ids.Split(',').ToList(); state = true; msg = string.Empty; foreach (var id in idList) { RightEntity right = RightEntity.GetSingle(id); string rightUser = right.RightUser; state = right.Delete(out msg); if (state) { LogService.WriteLog(LogTypeEnum.操作日志, "权限管理", "删除权限:" + badge + "删除了" + rightUser + "的权限 "); } else { break; } } }
// GET: /Home/ public ActionResult Index() { UserEntity user = new UserBll().getCurUser(); ViewBag.User = user; #region 菜单呈现 List <string> urights = new List <string>(); List <MenuEntity> menus = new List <MenuEntity>(); if (user != null) { IEnumerable <PluginEntity> pluginEntities = HuberPluginHandle.getEntityForMenu(); if (pluginEntities.Any()) { #region 用户的权限 List <RoleEntity> uroles = new RoleBll().GetRoles(user.RolesIds); string[] rightRange = null; string[] splitchar = new string[] { "," }; if (uroles != null) { foreach (RoleEntity role in uroles) { rightRange = role.RightIds.Split(splitchar, StringSplitOptions.RemoveEmptyEntries); if (rightRange != null) { urights.AddRange(rightRange); } } } #endregion List <RightEntity> rightEntities = new RightBll().GetAllMenu(urights, user.Uid == UserBll.SuperAdminID); foreach (PluginEntity pluginEntity in pluginEntities) { RightEntity rightEntity = rightEntities.SingleOrDefault(m => m.Category == pluginEntity.Id && m.ParentId == 0); if (rightEntity == null) { continue; } MenuEntity menuEntity = GetMenu(rightEntity, pluginEntity); menus.Add(menuEntity); } } #region 添加系统菜单 if (user.Uid == UserBll.SuperAdminID) { MenuEntity CoreMenu = new MenuEntity(-1, "系统管理", string.Empty, true, "fa fa-cog"); CoreMenu.Children.Add(new MenuEntity(-1, "用户管理", "/user/index", true)); CoreMenu.Children.Add(new MenuEntity(-1, "权限管理", "/right/index", true)); CoreMenu.Children.Add(new MenuEntity(-1, "角色管理", "/role/index", true)); CoreMenu.Children.Add(new MenuEntity(-1, "模块管理", "/module/index", true)); menus.Add(CoreMenu); //menus.Add(CoreMenu); //menus.Add(CoreMenu); //menus.Add(CoreMenu); //menus.Add(CoreMenu); } #endregion } #endregion ViewBag.Menus = menus; return(View()); }
public static void AssertEqual(RightEntity expected, Right actual) { Assert.Equal(expected.Info, actual.Info); }
public Right MapRight(RightEntity src, Right dest) { return(mapper.Map(src, dest)); }
public RightEntity MapRight(RightInput src, RightEntity dest) { return(mapper.Map(src, dest)); }
public static bool IsHaveRight(string badge, string rightName) { RightEntity right = RightEntity.GetListByProperty(a => a.RightUser, badge).FirstOrDefault(); return(right != null && right.RightName.Contains(rightName)); }
/// <summary>修改权限 /// </summary> /// <param name="rightEntity"></param> /// <returns></returns> public int EditRight(RightEntity rightEntity) { rightEntity.Describe = HttpUtility.UrlDecode(rightEntity.Describe); rightEntity.Name = HttpUtility.UrlDecode(rightEntity.Name); return(new RightBll().UpdateRight(rightEntity)); }