/// <summary> /// 缓存登录信息 /// </summary> public static void CacheUserLoginData(SysUser user) { HttpContext.Current.Session["SmartSystem_SystemLoginUser"] = user; List <BaseVillage> villages = VillageServices.QueryVillageByUserId(user.RecordID); HttpContext.Current.Session["SmartSystem_LoginUser_ValidVillage"] = villages; HttpContext.Current.Session["SmartSystem_LoginUser_ValidCompany"] = CompanyServices.GetCurrLoginUserRoleCompany(user.CPID, user.RecordID); List <SysRoles> sysRoles = SysRolesServies.QuerySysRolesByUserId(user.RecordID); if (sysRoles != null) { HttpContext.Current.Session["SmartSystem_SystemLoginUser_Role"] = sysRoles; if (sysRoles.Count > 0) { List <SysRoleAuthorize> roleAuthorizes = SysRoleAuthorizeServices.QuerySysRoleAuthorizeByRoleIds(sysRoles.Select(p => p.RecordID).ToList()); if (roleAuthorizes != null) { HttpContext.Current.Session["SmartSystem_LoginUser_SysRoleAuthorize"] = roleAuthorizes; } } } }
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("[]"); } }