public override void SetAuthorization(string tabId) { StringBuilder auth = new StringBuilder(); object obj = HttpContext.Session[Constant.SESSION_AUTHORIZATION]; if (obj != null) { AuthorizationMdl authorization = (AuthorizationMdl)obj; string pageName = this.GetType().Name.GetPageName(); string funId = pageName + "_" + tabId + "_carryforward"; bool isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_carryforward:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_edit"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_edit:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_delete"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_delete:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_query"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_query:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_exportexcel"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_exportexcel:\"").Append(isValid).Append("\""); } ViewData["authorization"] = "{" + auth.ToString() + "}"; }
public ActionResult index() { try { string tabId = this.Request["menuId"]; ViewData["config"] = "{tabId:\"" + tabId + "\",pageid:\"" + this.GetType().Name.GetPageName() + "\"}"; StringBuilder auth = new StringBuilder(); object obj = HttpContext.Session[Constant.SESSION_AUTHORIZATION]; if (obj != null) { AuthorizationMdl authorization = (AuthorizationMdl)obj; string pageName = this.GetType().Name.GetPageName(); string funId = pageName + "_" + tabId + "_update"; bool isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_update:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_openperiod"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_openperiod:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_closeperiod"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_closeperiod:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_query"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_query:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_exportexcel"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_exportexcel:\"").Append(isValid).Append("\""); } ViewData["authorization"] = "{" + auth.ToString() + "}"; return(this.View("stperiod")); } catch (Exception ex) { throw ex; } }
/// <summary> /// Purpose: 获取顶层菜单,过滤无权限 /// </summary> public void listTopMenu() { try { AuthorizationMdl authMdl = (AuthorizationMdl)this.HttpContext.Session[Constant.SESSION_AUTHORIZATION]; MenuConfigBll menuConfigBll = new MenuConfigBll(); List <tstmnucfg> array = menuConfigBll.getTopMenu(); ArrayList result = new ArrayList(); for (int i = 0; i < array.Count; i++) { tstmnucfg mdl = (tstmnucfg)array[i]; System.Globalization.CultureInfo culture = (System.Globalization.CultureInfo) this.HttpContext.Session[Constant.SESSION_CULTURE]; String text = HRMSRes.ResourceManager.GetString(mdl.rsid, culture); if (text != null) { mdl.munm = text; } if (mdl.muid != "Y") { if (getSubMenu(mdl.muid).Count > 0) { result.Add(mdl); } } else { result.Add(mdl); } } Response.Output.Write(JavaScriptConvert.SerializeObject(result)); } catch (Exception ex) { throw ex; } }
/// <summary> /// Purpose: 获取下一层菜单,过滤无权限 /// </summary> /// <param name="pami"></param> /// <returns></returns> private ArrayList getSubMenu(string pami) { ArrayList result = new ArrayList(); try { AuthorizationMdl authMdl = (AuthorizationMdl)this.HttpContext.Session[Constant.SESSION_AUTHORIZATION]; MenuConfigBll menuConfigBll = new MenuConfigBll(); List <tstmnucfg> array = menuConfigBll.getSubMenu(pami); for (int i = 0; i < array.Count; i++) { tstmnucfg mdl = (tstmnucfg)array[i]; if (authMdl.checkPermissionByFuncId(mdl.fnid)) { result.Add(mdl); } } return(result); } catch (Exception ex) { throw ex; } }
/// <summary> /// Purpose: 将Authorization Xml String转换成Authorization对象 /// </summary> /// <param name="_AuthXmlText"></param> /// <returns></returns> public AuthorizationMdl ParseAuthorizationXml(string _AuthXmlText) { AuthorizationMdl result = new AuthorizationMdl(); try { XmlDocument doc = new XmlDocument(); doc.LoadXml(_AuthXmlText); XmlNodeList nodes; result.Action = doc.SelectSingleNode("/Authorization/Action").InnerText.ToString(); //result.User = doc.SelectSingleNode("/Authorization/User").InnerText.ToString(); XmlNode userNode = doc.SelectSingleNode("/Authorization/User"); UserMdl user = new UserMdl(); user.urid = userNode.Attributes["urid"].Value.ToString(); user.urnm = userNode.Attributes["urnm"].Value.ToString(); user.sfid = userNode.Attributes["sfid"].Value.ToString(); result.User = user; XmlNodeList AppNodes = doc.SelectNodes("/Authorization/Application"); List <AppMdl> applications = new List <AppMdl>(); for (int i = 0; i < AppNodes.Count; i++) { AppMdl appMdl = new AppMdl(); appMdl.apnm = AppNodes[i].Attributes["name"].Value; appMdl.Web_Url = AppNodes[i].Attributes["url"].Value; nodes = AppNodes[i].SelectNodes("Roles/Role"); List <RoleMdl> roles = new List <RoleMdl>(); for (int j = 0; j < nodes.Count; j++) { RoleMdl roleMdl = new RoleMdl(); roleMdl.roty = nodes[j].Attributes["roty"].Value; roleMdl.Is_System_Role = (Public_Flag)Enum.Parse(typeof(Public_Flag), nodes[j].Attributes["issr"].Value); roleMdl.Role_Id = nodes[j].Attributes["roid"].Value; roleMdl.Role_Name = nodes[j].Attributes["ronm"].Value; roleMdl.alep = nodes[j].Attributes["alep"].Value; roles.Add(roleMdl); } appMdl.Roles = roles; nodes = AppNodes[i].SelectNodes("Modules/Module"); List <ModuleMdl> modules = new List <ModuleMdl>(); for (int j = 0; j < nodes.Count; j++) { ModuleMdl module = new ModuleMdl(); module.Name = nodes[j].Attributes["name"].Value; XmlNodeList fNodes = nodes[j].SelectNodes("Functions/Function"); List <FunctionMdl> functions = new List <FunctionMdl>(); for (int k = 0; k < fNodes.Count; k++) { FunctionMdl funtion = new FunctionMdl(); funtion.Id = fNodes[k].Attributes["id"].Value; funtion.Name = fNodes[k].Attributes["name"].Value; funtion.Url = fNodes[k].Attributes["url"].Value; funtion.Permission = (Security_Permission_Type)Enum.Parse(typeof(Security_Permission_Type), fNodes[k].InnerText.ToString()); functions.Add(funtion); } module.Functions = functions; modules.Add(module); } appMdl.Modules = modules; applications.Add(appMdl); } result.Applications = applications; return(result); } catch (UtilException ex) { throw ex; } catch (Exception ex) { throw new UtilException(ex.Message, ex); } }
public ActionResult index() { try { table_name = this.Request["tableName"]; string tabId = this.Request["menuId"]; List <ColumnMdl> columns = this.getColumns(table_name); MasterDataBll bll = new MasterDataBll(table_name); bool isLocked = false; #region MUF var q = (from p in (List <string>)HttpContext.Session[Constant.SESSION_CURRENT_MUF] where p == tabId.Substring(1, tabId.Length - 1) select p).ToList(); bool muf = q.Count > 0 ? true : false; #endregion ViewData["config"] = responseJson(columns, tabId, table_name, isLocked, muf); StringBuilder auth = new StringBuilder(); object obj = HttpContext.Session[Constant.SESSION_AUTHORIZATION]; if (obj != null) { AuthorizationMdl authorization = (AuthorizationMdl)obj; string pageName = this.GetType().Name.GetPageName(); string funId = pageName + "_" + tabId + "_masterdata_add"; bool isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_masterdata_add:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_masterdata_edit"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_masterdata_edit:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_masterdata_delete"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_masterdata_delete:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_masterdata_export"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_masterdata_export:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_masterdata_import"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_masterdata_import:\"").Append(isValid).Append("\","); funId = pageName + "_" + tabId + "_masterdata_query"; isValid = authorization.checkPermissionByFuncUrl(funId); auth.Append(tabId).Append("_masterdata_query:\"").Append(isValid).Append("\""); } ViewData["authorization"] = "{" + auth.ToString() + "}"; } catch (UtilException ex) { throw ex; } catch (Exception ex) { throw new UtilException(ex.Message, ex); } return(this.View("MasterData")); }