public void SubmitForm(SysRole SysRole, string[] permissionIds, string keyValue) { if (!string.IsNullOrEmpty(keyValue)) { SysRole.Id = keyValue; } else { SysRole.Id = Common.GuId(); } var moduledata = _SysModuleService.GetList(); var buttondata = _SysModuleButtonService.GetList(); List <SysRoleAuthorize> SysRoleAuthorizes = new List <SysRoleAuthorize>(); foreach (var itemId in permissionIds) { SysRoleAuthorize SysRoleAuthorize = new SysRoleAuthorize(); SysRoleAuthorize.Id = Common.GuId(); SysRoleAuthorize.ObjectType = 1; SysRoleAuthorize.ObjectId = SysRole.Id; SysRoleAuthorize.ItemId = itemId; if (moduledata.Find(t => t.Id == itemId) != null) { SysRoleAuthorize.ItemType = 1; } if (buttondata.Find(t => t.Id == itemId) != null) { SysRoleAuthorize.ItemType = 2; } SysRoleAuthorizes.Add(SysRoleAuthorize); } _Respository.SubmitForm(SysRole, SysRoleAuthorizes, keyValue); }
public ActionResult Main() { //车场首页权限 SysRoleAuthorize homeAuthorize = GetLoginUserRoleAuthorize.FirstOrDefault(p => p.ModuleID == "PK010507"); if (homeAuthorize == null) { return(RedirectToAction("Empty", "Home")); } return(View()); }
private void GetChildRoles(SysRoles role, SysRoleAuthorize rootModule, List <SysRoleAuthorize> roles, StringBuilder childTree, List <SysRoleAuthorize> dbRoles, string roleId) { List <SysRoleAuthorize> childRights = roles.Where(p => p.ParentID == rootModule.ModuleID).ToList(); if (childRights.Count == 0) { return; } if (childRights.Count > 0) { childTree.Append(",\"state\":\"closed\",\"children\":["); } int i = 1; foreach (var obj in childRights) { childTree.Append("{\"id\":\"" + obj.ModuleID + "_" + obj.ParentID + "_" + roleId + "\","); //childTree.Append("\"attributes\":{\"type\":1},"); childTree.Append("\"text\":\"" + obj.ModuleName + "\","); //if (dbRoles != null && dbRoles.Exists(p => p.ModuleID == obj.ModuleID) && !dbRoles.Exists(p => p.ParentID == obj.ModuleID)) //{ // childTree.Append(",\"checked\":true"); //} bool isDefaultRole = false; if (role.IsDefaultRole == YesOrNo.Yes && obj.IsSystemDefault) { isDefaultRole = true; childTree.Append("\"attributes\":{\"type\":1,\"isdefault\":1},"); childTree.Append("\"checked\":true"); } if (!isDefaultRole) { childTree.Append("\"attributes\":{\"type\":1,\"isdefault\":0}"); } if (!isDefaultRole && dbRoles != null && dbRoles.Exists(p => p.ModuleID == obj.ModuleID) && !dbRoles.Exists(p => p.ParentID == obj.ModuleID)) { childTree.Append(",\"checked\":true"); } GetChildRoles(role, obj, roles, childTree, dbRoles, roleId); childTree.Append("}"); if (i != childRights.Count()) { childTree.Append(","); } i++; } if (childRights.Count > 0) { childTree.Append("]"); } }
private static List <SysRoleAuthorize> GetCompanyDefaultSysRoleAuthorizeCS(string roleId, string systemmodelepath) { List <SysRoleAuthorize> rights = new List <SysRoleAuthorize>(); XDocument xdoc = XDocument.Load(systemmodelepath); foreach (XElement element in xdoc.Root.Elements()) { string defaultModule = element.Attribute("SystemDefault").Value; SysRoleAuthorize right = new SysRoleAuthorize(); string moduleId = element.Attribute("ModuleID").Value; string moduleName = element.Attribute("ModuleName").Value; string parentId = element.Attribute("ParentID").Value; right.RecordID = GuidGenerator.GetGuidString(); right.RoleID = roleId; right.ModuleID = moduleId; right.ModuleName = moduleName; right.ParentID = parentId; rights.Add(right); } return(rights); }
private void FillDefaultModule(List <SysRoleAuthorize> models, SysRoles role) { if (role.IsDefaultRole != YesOrNo.Yes) { return; } XDocument xdoc = XDocument.Load(Server.MapPath("~/SystemModule.xml")); foreach (XElement element in xdoc.Root.Elements()) { string isSystemDefault = element.Attribute("SystemDefault").Value; if (isSystemDefault != "true") { continue; } string moduleId = element.Attribute("ModuleID").Value; if (models.Count(p => p.ModuleID == moduleId) > 0) { continue; } string moduleName = element.Attribute("ModuleName").Value; string parentId = element.Attribute("ParentID").Value; SysRoleAuthorize model = new SysRoleAuthorize(); model.RecordID = GuidGenerator.GetGuid().ToString(); model.RoleID = role.RecordID; model.ModuleID = moduleId; model.ParentID = parentId; model.ModuleName = moduleName; model.IsSystemDefault = true; models.Add(model); } }
private static List <SysRoleAuthorize> GetCompanyDefaultSysRoleAuthorize(string roleId) { List <SysRoleAuthorize> rights = new List <SysRoleAuthorize>(); XDocument xdoc = XDocument.Load(System.Web.HttpContext.Current.Server.MapPath("~/SystemModule.xml")); foreach (XElement element in xdoc.Root.Elements()) { string defaultModule = element.Attribute("SystemDefault").Value; if (defaultModule == "true") { SysRoleAuthorize right = new SysRoleAuthorize(); string moduleId = element.Attribute("ModuleID").Value; string moduleName = element.Attribute("ModuleName").Value; string parentId = element.Attribute("ParentID").Value; right.RecordID = GuidGenerator.GetGuidString(); right.RoleID = roleId; right.ModuleID = moduleId; right.ModuleName = moduleName; right.ParentID = parentId; rights.Add(right); } } return(rights); }
public JsonResult SaveRoleModule() { try { if (string.IsNullOrWhiteSpace(Request.Params["roleId"])) { throw new MyException("请选择角色"); } string roleId = Request.Params["roleId"].ToString(); SysRoles role = SysRolesServies.QuerySysRolesByRecordId(roleId); if (role == null) { throw new MyException("获取角色信息失败"); } if (role.IsDefaultRole == YesOrNo.No && string.IsNullOrWhiteSpace(Request.Params["selectModuleIds"])) { throw new MyException("请选择需要授权的模块"); } string roleModules = Request.Params["selectModuleIds"].ToString(); List <SysRoleAuthorize> models = new List <SysRoleAuthorize>(); if (!string.IsNullOrWhiteSpace(roleModules)) { string[] strRoles = roleModules.Split(','); for (int i = 0; i < strRoles.Length; i++) { string[] d = strRoles[i].Split('_'); if (d.Length != 3) { continue; } SysRoleAuthorize model = new SysRoleAuthorize(); model.RecordID = GuidGenerator.GetGuid().ToString(); model.RoleID = role.RecordID; model.ModuleID = d[0]; model.ParentID = d[1]; models.Add(model); } } FillDefaultModule(models, role); if (models.Count == 0) { throw new MyException("获取模块信息失败"); } bool result = SysRoleAuthorizeServices.Add(models); if (!result) { throw new MyException("保存角色模块失败"); } CacheData.UpdateCacheUserLoginData(GetLoginUser.RecordID); return(Json(MyResult.Success())); } catch (MyException ex) { return(Json(MyResult.Error(ex.Message))); } catch (Exception ex) { ExceptionsServices.AddExceptions(ex, "保存角色模块授权失败"); return(Json(MyResult.Error("保存失败"))); } }
public string GetSystemModule() { try { List <SysRoleAuthorize> roles = new List <SysRoleAuthorize>(); XDocument xdoc = XDocument.Load(Server.MapPath("~/SystemModule.xml")); foreach (XElement element in xdoc.Root.Elements()) { string moduleId = element.Attribute("ModuleID").Value; string moduleName = element.Attribute("ModuleName").Value; string parentId = element.Attribute("ParentID").Value; string isSystemDefault = element.Attribute("SystemDefault").Value; SysRoleAuthorize role = new SysRoleAuthorize(); role.ModuleID = moduleId; role.ModuleName = moduleName; role.ParentID = parentId; role.IsSystemDefault = isSystemDefault == "true"; roles.Add(role); } if (string.IsNullOrWhiteSpace(Request.Params["roleId"])) { return("[]"); } string roleId = Request.Params["roleId"].ToString(); SysRoles sysRole = SysRolesServies.QuerySysRolesByRecordId(roleId); StringBuilder strTree = new StringBuilder(); strTree.Append("[{\"id\":\"" + sysRole.RecordID + "\","); strTree.Append("\"attributes\":{\"type\":0},"); strTree.Append("\"text\":\"" + sysRole.RoleName + "[授权]\""); List <SysRoleAuthorize> rootModules = roles.Where(p => p.ParentID == "").ToList(); if (rootModules.Count > 0) { strTree.Append(",\"children\":["); } List <SysRoleAuthorize> roleAuthorizes = SysRoleAuthorizeServices.QuerySysRoleAuthorizeByRoleId(sysRole.RecordID); int i = 1; foreach (var item in rootModules) { strTree.Append("{\"id\":\"" + item.ModuleID + "_" + item.ParentID + "_" + roleId + "\","); strTree.Append("\"text\":\"" + item.ModuleName + "\","); bool isDefaultRole = false; if (sysRole.IsDefaultRole == YesOrNo.Yes && item.IsSystemDefault) { isDefaultRole = true; strTree.Append("\"attributes\":{\"type\":1,\"isdefault\":1},"); strTree.Append("\"checked\":true"); } if (!isDefaultRole) { strTree.Append("\"attributes\":{\"type\":1,\"isdefault\":0}"); } if (!isDefaultRole && roleAuthorizes != null && roleAuthorizes.Exists(p => p.ModuleID == item.ModuleID) && !roleAuthorizes.Exists(p => p.ParentID == item.ModuleID)) { strTree.Append(",\"checked\":true"); } GetChildRoles(sysRole, item, roles, strTree, roleAuthorizes, roleId); strTree.Append("}"); if (i != rootModules.Count()) { strTree.Append(","); } i++; } if (rootModules.Count > 0) { strTree.Append("]"); } strTree.Append("}]"); return(strTree.ToString()); } catch (Exception ex) { ExceptionsServices.AddExceptions(ex, "获取角色授权模块失败"); return("[]"); } }
public async Task <ApiResult <string> > Put(string Id, EditSysModuleDto Params) { ApiResult <string> res = new ApiResult <string>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { //添加模块 SysModule sysModuleInfo = _mapper.Map <SysModule>(Params); sysModuleInfo.Id = Id; var IsSuccess = await _sysModuleService.UpdateAsync(sysModuleInfo); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:修改模块失败"; } //找到模块对应当前角色授权 SysRoleAuthorize sysRoleAuthorize = await _sysRoleAuthorizeService.QueryFirstAsync(s => s.RoleId == token.Role && s.ModuleId == Id); List <string> ModuleIds = new List <string>(); //修改模块数据 List <SysModuleAction> EditsysModuleActionList = _mapper.Map <List <SysModuleAction> >(Params.SysModuleActionDtos.Where(s => s.Id != null)); if (EditsysModuleActionList.Count() > 0) { IsSuccess = await _sysModuleActionService.UpdateListAsync(EditsysModuleActionList); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:修改模块失败"; } ModuleIds.AddRange(EditsysModuleActionList.Select(s => s.Id).ToList()); } //添加模块请求 List <SysModuleAction> AddsysModuleActionList = _mapper.Map <List <SysModuleAction> >(Params.SysModuleActionDtos.Where(s => s.Id == null)); if (AddsysModuleActionList.Count() > 0) { foreach (var item in AddsysModuleActionList) { item.Id = Guid.NewGuid().ToString(); item.ModuleId = sysModuleInfo.Id; item.CreatorTime = DateTime.Now; item.CreatorUserId = token.Id; } IsSuccess = await _sysModuleActionService.AddListAsync(AddsysModuleActionList); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:添加模块失败"; } ModuleIds.AddRange(AddsysModuleActionList.Select(s => s.Id).ToList()); //添加模块权限 按钮权限 List <SysRoleAuthorizeAction> AddsysRoleAuthorizeList = new List <SysRoleAuthorizeAction>(); foreach (var item in AddsysModuleActionList) { SysRoleAuthorizeAction sysRoleAuthorizeInfo = new SysRoleAuthorizeAction(); sysRoleAuthorizeInfo.Id = Guid.NewGuid().ToString(); sysRoleAuthorizeInfo.RoleAuthId = sysRoleAuthorize.Id; sysRoleAuthorizeInfo.ModuleActionId = item.Id; sysRoleAuthorizeInfo.CreatorTime = DateTime.Now; sysRoleAuthorizeInfo.CreatorUserId = token.Id; AddsysRoleAuthorizeList.Add(sysRoleAuthorizeInfo); } IsSuccess = await _sysRoleAuthorizeActionService.AddListAsync(AddsysRoleAuthorizeList); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:添加模块按钮权限失败"; } } //删除不存在的模块请求 await _sysModuleActionService.DeleteAsync(s => s.ModuleId == sysModuleInfo.Id && !ModuleIds.Contains(s.Id)); } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <string> > Post(EditSysModuleDto Params) { ApiResult <string> res = new ApiResult <string>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { //添加模块 SysModule sysModuleInfo = _mapper.Map <SysModule>(Params); sysModuleInfo.CreatorTime = DateTime.Now; sysModuleInfo.CreatorUserId = token.Id; sysModuleInfo.Id = Guid.NewGuid().ToString(); sysModuleInfo.DeleteMark = false; var IsSuccess = await _sysModuleService.AddAsync(sysModuleInfo); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:添加模块失败"; } //添加模块权限 SysRoleAuthorize sysRoleAuthorize = new SysRoleAuthorize(); sysRoleAuthorize.Id = Guid.NewGuid().ToString(); sysRoleAuthorize.RoleId = token.Role; sysRoleAuthorize.ModuleId = sysModuleInfo.Id; sysRoleAuthorize.CreatorTime = DateTime.Now; sysRoleAuthorize.CreatorUserId = token.Id; IsSuccess = await _sysRoleAuthorizeService.AddAsync(sysRoleAuthorize); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:添加模块权限失败"; } //添加模块请求 List <SysModuleAction> AddsysModuleActionList = _mapper.Map <List <SysModuleAction> >(Params.SysModuleActionDtos.Where(s => s.Id == null)); if (AddsysModuleActionList.Count() > 0) { foreach (var item in AddsysModuleActionList) { item.Id = Guid.NewGuid().ToString(); item.ModuleId = sysModuleInfo.Id; item.CreatorTime = DateTime.Now; item.CreatorUserId = token.Id; } IsSuccess = await _sysModuleActionService.AddListAsync(AddsysModuleActionList); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:添加子模块失败"; } //添加模块权限 按钮权限 List <SysRoleAuthorizeAction> AddsysRoleAuthorizeList = new List <SysRoleAuthorizeAction>(); foreach (var item in AddsysModuleActionList) { SysRoleAuthorizeAction sysRoleAuthorizeInfo = new SysRoleAuthorizeAction(); sysRoleAuthorizeInfo.Id = Guid.NewGuid().ToString(); sysRoleAuthorizeInfo.RoleAuthId = sysRoleAuthorize.Id; sysRoleAuthorizeInfo.ModuleActionId = item.Id; sysRoleAuthorizeInfo.CreatorTime = DateTime.Now; sysRoleAuthorizeInfo.CreatorUserId = token.Id; AddsysRoleAuthorizeList.Add(sysRoleAuthorizeInfo); } IsSuccess = await _sysRoleAuthorizeActionService.AddListAsync(AddsysRoleAuthorizeList); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:添加模块按钮权限失败"; } } } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }