//加载 public void LoadDataBind() { TB_Admin_Resources model = new TB_Admin_Resources(); int id = CommonClass.ReturnRequestInt("id", 0); if (id > 0) { model = AdminService.ResourcesService.Get(id); DDLParent.SelectedValue = model.ParentID.ToStr(); TbResourceName.Text = model.ResourceName; TbUrl.Text = model.Url; TbOrderBy.Text = model.OrderBy.ToStr(); CheckIsShow.Checked = model.IsShow; ViewState["id"] = model.ID; } }
//保存 protected void BtnSave_Click(object sender, EventArgs e) { TB_Admin_Resources model = new TB_Admin_Resources(); if (ViewState["id"] != null) { model = AdminService.ResourcesService.Get(ViewState["id"]); } model.ResourceName = TbResourceName.Text; model.ParentID = DDLParent.SelectedValue.ToInt(); model.Url = TbUrl.Text; model.Creater = AdminUserName; model.OrderBy = TbOrderBy.Text.ToInt(); model.IsShow = CheckIsShow.Checked; model.AddDate = DateTime.Now; IAdmin_Resources Resources = AdminService.ResourcesService; if (ViewState["id"] == null) { if (Resources.Insert(model) == 1) { CachesHelper.RemoveCache(DataToCacheHelper.CacheNames.AllResources.ToStr()); MessageDiv.InnerHtml = CommonClass.Reload("数据修改成功"); } else { MessageDiv.InnerHtml = CommonClass.Alert("数据添加失败"); } } else { if (Resources.Update(model) == 1) { CachesHelper.RemoveCache(DataToCacheHelper.CacheNames.AllResources.ToStr()); MessageDiv.InnerHtml = CommonClass.Reload("数据修改成功"); } else { MessageDiv.InnerHtml = CommonClass.Alert("数据修改失败"); } } }
/// <summary> /// 获取所有权限菜单列表 /// </summary> /// <returns></returns> public List <TB_Admin_Resources> Permission() { List <TB_Admin_Resources> list = new List <TB_Admin_Resources>(); string result = String.Empty; XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(HttpContext.Current.Server.MapPath("~/App_Data/PermissionDictionaries.xml")); XmlNodeList xnl = xmldoc.SelectSingleNode("Dictionaries").ChildNodes; int orderBy = 0; foreach (XmlNode xn in xnl) { orderBy++; TB_Admin_Resources entity = new TB_Admin_Resources(); entity.ID = xn.Attributes["ID"].Value.ToInt(); entity.ResourceName = xn.Attributes["Name"].Value; entity.OrderBy = orderBy; entity.ChildTree = new List <TB_Admin_Resources>(); entity.IsShow = xn.Attributes["IsShow"].Value.ToLower() == "true" ? true : false; int childOrderBy = 0; XmlNodeList childlist = xn.ChildNodes; foreach (XmlNode child in childlist) { childOrderBy++; TB_Admin_Resources entity2 = new TB_Admin_Resources(); entity2.ID = child.Attributes["ID"].Value.ToInt(); entity2.ResourceName = child.InnerText; entity2.Url = child.Attributes["Url"].Value; entity2.IsShow = child.Attributes["IsShow"] == null ? false : (child.Attributes["IsShow"].Value.ToLower() == "true" ? true : false); entity2.OrderBy = childOrderBy; entity.ChildTree.Add(entity2); } list.Add(entity); } return(list); }
/// <summary> /// 权限 /// </summary> /// <param name="showMenu">展示菜单导航</param> /// <returns></returns> public List <TB_Admin_Resources> Permission(bool showMenu) { return(new CommonHelpers().Permission()); List <TB_Admin_Resources> modelList = new List <TB_Admin_Resources>(); //获取以及资源信息 List <TB_Admin_Resources> resourcesList = DataToCacheHelper.GetPermission(); resourcesList = resourcesList.Where(r => r.ParentID == 0).ToList(); if (showMenu == true) { resourcesList = resourcesList.Where(r => r.IsShow == true).ToList(); } //遍历信息 foreach (TB_Admin_Resources resource in resourcesList) { TB_Admin_Resources model = resource; model.ChildTree = new List <TB_Admin_Resources>(); //获取子集 List <TB_Admin_Resources> childList = DataToCacheHelper.GetPermission(); childList = childList.Where(r => r.ParentID == resource.ID).ToList(); if (showMenu == true) { childList = childList.Where(r => r.IsShow == true).ToList(); } //判断资源编号是否在用户资源列表中 foreach (var child in childList) { model.ChildTree.Add(child); } modelList.Add(model); } return(modelList); }
//选择 protected void CheckBoxResourceList_SelectedIndexChanged(object sender, EventArgs e) { foreach (ListItem li in CheckBoxResourceList.Items) { int id = li.Value.ToInt(); TB_Admin_Resources model = AdminService.ResourcesService.Get(id); //如果存在父级,才进行选择 if (model.ParentID > 0) { li.Attributes.Add("style", "margin-left:20px;"); //当二级被选择,父级也要被选择 if (li.Selected == true) { foreach (ListItem li2 in CheckBoxResourceList.Items) { if (li2.Value.ToInt() == model.ParentID) { li2.Selected = true; } } } } } }
/// <summary> /// 权限 /// </summary> /// <param name="moduleList">用户所属角色对应的权限</param> /// <param name="showMenu">展示菜单导航</param> /// <returns></returns> public List <TB_Admin_Resources> Permission(bool showMenu) { List <int> resourcesIds = new List <int>(); int AdminUserID = System.Web.HttpContext.Current.Request.Cookies["AdminInfo"].Values["ID"].ToInt(); List <Expression> expression = new List <Expression>(); expression.Add(new Expression("AdminUserID", "=", AdminUserID.ToString())); List <TB_Admin_UserInRole> userInRoles = AdminService.UserInRoleService.Search(expression); //循环用户角色 foreach (TB_Admin_UserInRole userRole in userInRoles) { //通过角色查询出角色对应的资源 List <Expression> expression2 = new List <Expression>(); expression2.Add(new Expression("RoleID", "=", userRole.RoleID.ToString())); IEnumerable <int> roleInfoResources = AdminService.RoleInResourcesService.Search(expression2).Select(r => r.ResourceID); resourcesIds.AddRange(roleInfoResources); } List <TB_Admin_Resources> modelList = new List <TB_Admin_Resources>(); //获取以及资源信息 List <TB_Admin_Resources> resourcesList = DataToCacheHelper.GetPermission(); resourcesList = resourcesList.Where(r => r.ParentID == 0).ToList(); if (showMenu == true) { resourcesList = resourcesList.Where(r => r.IsShow == true).ToList(); } //遍历信息 foreach (TB_Admin_Resources resource in resourcesList) { if (resourcesIds.Contains(resource.ID)) { TB_Admin_Resources model = resource; model.ChildTree = new List <TB_Admin_Resources>(); //获取子集 List <TB_Admin_Resources> childList = DataToCacheHelper.GetPermission(); childList = childList.Where(r => r.ParentID == resource.ID).ToList(); if (showMenu == true) { childList = childList.Where(r => r.IsShow == true).ToList(); } //判断资源编号是否在用户资源列表中 foreach (var child in childList) { if (resourcesIds.Contains(child.ID)) { model.ChildTree.Add(child); } } modelList.Add(model); } } return(modelList); }
/// <summary> /// 用户所属角色对应的权限 /// </summary> /// <param ResourceName="IsShowMenu">是否展示菜单</param> /// <returns></returns> public List <TB_Admin_Resources> GetUserPermission(bool IsShowMenu) { List <int> resourcesIds = new List <int>(); int AdminUserID = System.Web.HttpContext.Current.Request.Cookies["AdminInfo"].Values["ID"].ToInt(); List <Expression> expression = new List <Expression>(); expression.Add(new Expression("AdminUserID", "=", AdminUserID.ToString())); List <TB_Admin_UserInRole> userInRoles = AdminService.UserInRoleService.Search(expression); //循环用户角色 foreach (TB_Admin_UserInRole userRole in userInRoles) { //通过角色查询出角色对应的资源 List <Expression> expression2 = new List <Expression>(); expression2.Add(new Expression("RoleID", "=", userRole.RoleID.ToString())); IEnumerable <int> roleInfoResources = AdminService.RoleInResourcesService.Search(expression2).Select(r => r.ResourceID); resourcesIds.AddRange(roleInfoResources); } List <TB_Admin_Resources> list = new List <TB_Admin_Resources>(); string result = String.Empty; XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(HttpContext.Current.Server.MapPath("~/App_Data/PermissionDictionaries.xml")); XmlNodeList xnl = xmldoc.SelectSingleNode("Dictionaries").ChildNodes; foreach (XmlNode xn in xnl) { if (IsShowMenu == true) { if (xn.Attributes["isShow"] == null) { continue; } if (xn.Attributes["isShow"].Value.ToLower() == "false") { continue; } } if (resourcesIds.Contains(xn.Attributes["ID"].Value.ToInt().ToInt())) { TB_Admin_Resources entity = new TB_Admin_Resources(); entity.ID = xn.Attributes["ID"].Value.ToInt(); entity.ResourceName = xn.Attributes["Name"].Value; entity.ChildTree = new List <TB_Admin_Resources>(); entity.IsShow = (xn.Attributes["IsShow"].Value.ToLower() == "true" ? true : false); XmlNodeList childlist = xn.ChildNodes; foreach (XmlNode child in childlist) { if (IsShowMenu == true) { if (child.Attributes["isShow"] == null) { continue; } if (child.Attributes["isShow"].Value.ToLower() == "false") { continue; } } if (resourcesIds.Contains(child.Attributes["ID"].Value.ToInt().ToInt())) { TB_Admin_Resources entity2 = new TB_Admin_Resources(); entity2.ID = child.Attributes["ID"].Value.ToInt(); entity2.ResourceName = child.InnerText; entity2.Url = child.Attributes["Url"].Value; entity2.IsShow = child.Attributes["IsShow"] == null ? false : (child.Attributes["IsShow"].Value.ToLower() == "true" ? true : false); entity.ChildTree.Add(entity2); } } list.Add(entity); } } return(list); }