///// <summary> ///// 用户注册 ///// </summary> ///// <param name="position">职位表实体</param> ///// <returns>true:保存成功,false:保存失败</returns> //public bool PostPositionSave(Base_UserInfo base_User) //{ // if (string.IsNullOrEmpty(base_User.OID)) // { // base_User.Name = Tools.SessionHelper.GetSession<Base_UserInfo>(Tools.SessionHelper.SessinoName.CurUser).OID; // base_User.VDATETIME = DateTime.Now; // } // return this. //} /// <summary> /// 根据页面url获取页面Ename /// </summary> /// <param name="url">页面url</param> /// <returns>Ename</returns> public string GetEnameByUrl(string url) { string ref_ename = string.Empty; Base_ModuleInfo ModuleInfo = _moduleInfoBll.FindBy(o => o.PathHandler == url).FirstOrDefault(); if (ModuleInfo != null) { ref_ename = ModuleInfo.EName; } return(ref_ename); }
public object GetModulePermissionByOid(string oid) { Base_ModuleInfo ModuleInfo = _service.FindBy(o => o.OID == oid && o.State == 0).FirstOrDefault(); List <Base_PermissionInfo> Permissions = new List <Base_PermissionInfo>(); if (ModuleInfo != null) { Permissions = ModuleInfo.Permissions.ToList(); } return(Common.NewtonJsonHelper.Deserialize <object>(Common.NewtonJsonHelper.Serialize(Permissions, new List <string> { "Modules", "Roles" }), null)); }
public object ModuleTreeMove(PostClass PostClass) { bool bool_ref = false; if (PostClass.PostData.ToString().Split('☻').Length == 2) { string moduleOid = PostClass.PostData.ToString().Split('☻')[0]; string moveType = PostClass.PostData.ToString().Split('☻')[1]; Base_ModuleInfo MoveModule = _service.FindBy(o => o.OID == moduleOid).FirstOrDefault(); if (moveType == "up") { bool_ref = _service.MoveWithTree(MoveModule, -1); } else if (moveType == "down") { bool_ref = _service.MoveWithTree(MoveModule, 1); } } return(bool_ref); }
/// <summary> /// 获取到用户可用module /// </summary> /// <param name="userId">用户id</param> /// <param name="orgId">当前组织机构</param> /// <param name="moduleEname">模块英文名称,如果不为空则返回该模块的所有子集,如果为空则返回所有</param> /// <returns>json</returns> public object GetUserModules(string userId, string orgId, string moduleEname) { try { List <Base_ModuleInfo> moduleList; //缓存Key值 string cacheKey = userId + orgId + "_UserAuthModule"; //判断缓存是否存在 #region 缓存存在数据,取出缓存数据 //缓存中存在菜单字典取出数据,如果字典中不存在该用户键值,取出数据存入 object info = CacheHelper.GetLocalCache(cacheKey); if (info != null) { moduleList = (List <Base_ModuleInfo>)info; } #endregion #region 缓存不存在,取出数据存入创建缓存 else { // 缓存中不存在菜单字典,创建字典存入缓存 moduleList = _authBll.GetAllowModuleByUser(userId, orgId); if (moduleList.Count > 0) { CacheHelper.SaveLocalCache(null, TimeSpan.FromHours(_authBll.CacheHour), moduleList, cacheKey); } else { throw new PermissionLimittedException("noAuth"); } } #endregion #region 过滤结果集合 if (moduleList != null & moduleList.Count > 0) { //转化成json串 if (!string.IsNullOrEmpty(moduleEname))//如果moduleEname不为空值,代表请求某菜单下的按钮 { Base_ModuleInfo parentObj = moduleList.Where(op => op.EName == moduleEname).FirstOrDefault(); string parentModuleId = Guid.NewGuid().ToString().ToUpper();//默认给一个新创建的Guid if (parentObj != null) { parentModuleId = parentObj.OID; //更改Guid值 } moduleList = moduleList.Where(op => op.Flag == 1 || op.Flag == 3 || op.Flag == 4).Where(op => op.ParentOID == parentModuleId.ToString()).OrderBy(op => op.LT).ToList(); } else//如果moduleEname为空值,代表请求整个权限菜单 { moduleList = moduleList.Where(op => op.Flag == 0).OrderBy(op => op.LT).ToList(); } } #endregion #region 过滤结果字段 object delresult; List <string> removeCols = new List <string>(); removeCols.Add("Buttons"); removeCols.Add("Orgs"); removeCols.Add("Permissions"); delresult = Common.NewtonJsonHelper.Deserialize <object>(Common.NewtonJsonHelper.Serialize(moduleList, removeCols), null); #endregion return(delresult); } catch (Exception err) { throw new PermissionLimittedException("noAuth", err); } }
public ActionResult BaseRolePermission() { int num = TypeUtil.ObjectToInt(base.Request["param"]); base.ViewData["data"] = null; base.ViewBag.RoleId = num; List <Base_ModuleInfo> list = new List <Base_ModuleInfo>(); if (num > 0) { base.ViewBag.RoleName = TypeUtil.GetRoleName(num); if (num == 1) { base.ViewBag.Tit = "<超级管理员默认具有全部权限>"; } else { DataSet moduleList = FacadeManage.aidePlatformManagerFacade.GetModuleList(); DataSet modulePermissionList = FacadeManage.aidePlatformManagerFacade.GetModulePermissionList(); DataSet rolePermissionList = FacadeManage.aidePlatformManagerFacade.GetRolePermissionList(num); if (moduleList != null && moduleList.Tables.Count > 0) { foreach (DataRow row in moduleList.Tables[0].Rows) { Base_ModuleInfo base_ModuleInfo = new Base_ModuleInfo(); int num2 = TypeUtil.ObjectToInt(row["ModuleID"]); string text2 = base_ModuleInfo.Title = TypeUtil.ObjectToString(row["Title"]); base_ModuleInfo.ModuleID = num2; DataRow[] array = moduleList.Tables[0].Select("ParentID=" + num2); if (array != null && array.Count() > 0) { List <Base_ModuleSubInfo> list2 = new List <Base_ModuleSubInfo>(); DataRow[] array2 = array; foreach (DataRow dataRow2 in array2) { Base_ModuleSubInfo base_ModuleSubInfo = new Base_ModuleSubInfo(); string title = TypeUtil.ObjectToString(dataRow2["Title"]); int num3 = TypeUtil.ObjectToInt(dataRow2["ModuleID"]); if (modulePermissionList != null && modulePermissionList.Tables.Count > 0 && modulePermissionList.Tables[0].Select("ModuleID=" + num3).Count() > 0) { base_ModuleSubInfo.Title = title; base_ModuleSubInfo.ModuleID = num3; DataRow[] array3 = modulePermissionList.Tables[0].Select("ModuleID=" + num3); List <Base_ModulePermissionInfo> list3 = new List <Base_ModulePermissionInfo>(); DataRow[] array4 = array3; foreach (DataRow dataRow3 in array4) { Base_ModulePermissionInfo base_ModulePermissionInfo = new Base_ModulePermissionInfo(); int num4 = TypeUtil.ObjectToInt(dataRow3["PermissionValue"]); base_ModulePermissionInfo.PermissionTitle = TypeUtil.ObjectToString(dataRow3["PermissionTitle"]); base_ModulePermissionInfo.PermissionValue = num4; if (rolePermissionList != null && rolePermissionList.Tables.Count > 0 && rolePermissionList.Tables[0].Rows.Count > 0) { DataRow[] array5 = rolePermissionList.Tables[0].Select("RoleID=" + num + " and ModuleID=" + num3); int num5 = 0; if (array5 != null && array5.Count() > 0) { num5 = TypeUtil.ObjectToInt(array5[0]["OperationPermission"]); } base_ModulePermissionInfo.IsChecked = (num5 != 0 && TypeUtil.IsExit(num5, num4)); } else { base_ModulePermissionInfo.IsChecked = false; } list3.Add(base_ModulePermissionInfo); } base_ModuleSubInfo.Base_ModulePermissionInfoes = list3; } if (base_ModuleSubInfo != null) { list2.Add(base_ModuleSubInfo); } } if (list2 != null && list2.Count > 0) { base_ModuleInfo.Base_ModuleSubInfoes = list2; } } if (base_ModuleInfo != null && base_ModuleInfo.Base_ModuleSubInfoes != null && base_ModuleInfo.Base_ModuleSubInfoes.Count > 0) { list.Add(base_ModuleInfo); } } } } } if (list != null && list.Count > 0) { foreach (Base_ModuleInfo item in list) { foreach (Base_ModuleSubInfo base_ModuleSubInfo2 in item.Base_ModuleSubInfoes) { if (base_ModuleSubInfo2.Base_ModulePermissionInfoes != null && base_ModuleSubInfo2.Base_ModulePermissionInfoes.Count > 0) { base_ModuleSubInfo2.Base_ModulePermissionInfoes = (from p in base_ModuleSubInfo2.Base_ModulePermissionInfoes where p.PermissionTitle != "" select p).ToList(); } } } foreach (Base_ModuleInfo item2 in list) { if (item2.Base_ModuleSubInfoes != null && item2.Base_ModuleSubInfoes.Count > 0) { item2.Base_ModuleSubInfoes = item2.Base_ModuleSubInfoes.Where(delegate(Base_ModuleSubInfo p) { if (p.Title != "") { return(p.Base_ModulePermissionInfoes != null); } return(false); }).ToList(); } } if (list != null && list.Count > 0) { list = list.Where(delegate(Base_ModuleInfo p) { if (p.Title != "" && p.Base_ModuleSubInfoes != null) { return(p.Base_ModuleSubInfoes.Count > 0); } return(false); }).ToList(); } } base.ViewData["data"] = list; return(View()); }
/// <summary> /// 根据路由名称和标识获取行操作按钮和工具栏按钮 /// </summary> /// <param name="routeState">路由名称</param> /// <param name="flag">标识</param> /// <returns></returns> public List <Base_ModuleInfo> GetButtonByEname(string routeState, int flag) { Base_UserInfo user = Tools.SessionHelper.GetSession <Base_UserInfo>(Tools.SessionHelper.SessinoName.CurUser); if (user == null) { return(new List <Base_ModuleInfo>()); } string orgOID = user.Orgs.FirstOrDefault().OID; List <Base_ModuleInfo> moduleList = new List <Base_ModuleInfo>(); //缓存Key值 string cacheKey = user.OID + orgOID + "_UserAuthModule"; //判断缓存是否存在 #region 缓存存在数据,取出缓存数据 //缓存中存在菜单字典取出数据,如果字典中不存在该用户键值,取出数据存入 object info = CacheHelper.GetLocalCache(cacheKey); if (info != null) { moduleList = (List <Base_ModuleInfo>)info; } #endregion #region 缓存不存在,取出数据存入创建缓存 else { // 缓存中不存在菜单字典,创建字典存入缓存 moduleList = _authBll.GetAllowModuleByUser(user.OID, orgOID); if (moduleList.Count > 0) { CacheHelper.SaveLocalCache(null, TimeSpan.FromHours(_authBll.CacheHour), moduleList, cacheKey); } else { moduleList = new List <Base_ModuleInfo>(); } } #endregion #region 过滤结果集合 if (moduleList != null & moduleList.Count > 0) { //转化成json串 if (!string.IsNullOrEmpty(routeState))//如果moduleEname不为空值,代表请求某菜单下的按钮 { Base_ModuleInfo parentObj = moduleList.Where(op => op.EName == routeState).FirstOrDefault(); string parentModuleId = Guid.NewGuid().ToString().ToUpper();//默认给一个新创建的Guid if (parentObj != null) { parentModuleId = parentObj.OID; //更改Guid值 } //Base_ModuleInfo item = null; moduleList = moduleList.Where(op => op.Flag == flag).Where(op => op.ParentOID == parentModuleId.ToString()).ToList(); //.Select(item => new { item.Name, item.PathHandler }).ToList(); } } #endregion List <Base_ModuleInfo> returnList = new List <Base_ModuleInfo>(); foreach (var item in moduleList) { Base_ModuleInfo module = new Base_ModuleInfo(); module.Name = item.Name; module.PathHandler = item.PathHandler; module.Url = item.Url; module.EName = item.EName; module.Flag = item.Flag; module.Ico = item.Ico; returnList.Add(module); } return(returnList); }