/// <summary> /// 权限检查--地区 /// </summary> /// <param name="parentName">父类名 如:(用户管理)</param> /// <param name="rightName">权限名,如:新增用户</param> /// <param name="isWriteMsg">停止当页执行并输出信息</param> /// <returns>ture:有权限</returns> public bool CheckRight(string parentName, string rightName, params bool[] isWriteMsg) { bool flag = false; Eastcom.BLL.Sys_Power_Right rightBLL = new Eastcom.BLL.Sys_Power_Right(); Eastcom.Model.Sys_Power_Right rightModel = rightBLL.GetModel(parentName, rightName); if (null != rightModel) { if (CurrentRightModelList != null) { flag = this.CurrentRightModelList.Exists(m => m.RightID == rightModel.RightID); } } else { throw new Exception(string.Format("权限配置【{0}——{1}】不存在!", parentName, rightName)); } #region 没有权限的强制登陆 if (!flag && null != isWriteMsg && isWriteMsg.Length > 0) { if (isWriteMsg[0]) { NoRightsInfo(); } } #endregion return(flag); }
/// <summary> /// 权限检查-地区 /// </summary> /// <param name="parentName">父类名 如:(用户管理)</param> /// <param name="rightName">权限名,如:新增用户</param> /// <param name="isWriteMsg">停止当页执行并输出信息</param> /// <returns>ture:有权限</returns> public bool CheckRight(string parentName, string rightName, string UserArea, params bool[] isWriteMsg) { bool flag, flagarea, flagSum = false; Eastcom.Model.Sys_Power_Right rightModel = new Eastcom.BLL.Sys_Power_Right().GetModel(parentName, rightName); if (null != rightModel) { if (CurrentRightModelList != null) { flag = this.CurrentRightModelList.Exists(m => m.RightID == rightModel.RightID); flagarea = Config.BaseFunc.IsAreaRole(UserArea); flagSum = flag || flagarea; } } else { throw new Exception(string.Format("县市权限{0},权限配置【{1}——{2}】不存在!", UserArea, parentName, rightName)); } #region 没有权限的强制登陆 if (!flagSum && null != isWriteMsg && isWriteMsg.Length > 0) { if (isWriteMsg[0]) { NoRightsInfo(); } } #endregion return(flagSum); }
/// <summary> /// 根据登录cookie初始化 /// </summary> /// <returns></returns> public void BaseInitData() { bool loginFlag = false; string userId = CommonClass.StringHander.Common.GetCookies(CookieName); //string userId = BLL.SessionConfig.GetUserID().ToString(); if (!string.IsNullOrEmpty(userId)) { Eastcom.Model.v_Sys_User_Info uModel = new Eastcom.BLL.v_Sys_User_Info().GetModel(CommonClass.StringHander.Common.GetInt(userId)); if (null != uModel) { this.CurrentUserModel = uModel; loginFlag = true; Eastcom.BLL.Sys_Power_Role roleBLL = new Eastcom.BLL.Sys_Power_Role(); Eastcom.BLL.Sys_Power_Right rightBLL = new Eastcom.BLL.Sys_Power_Right(); //1:当前用户角色初始化 this.CurrentRoleModelList = roleBLL.GetModelListByUserId(this.CurrentUserModel.UserID); //2:当前用户权限初始化 List <Eastcom.Model.Sys_Power_Right> rightLst = new List <Sys_Power_Right>(); List <Eastcom.Model.Sys_Power_Right> rightTempLst = new List <Sys_Power_Right>(); /*角色——权限*/ if (null != this.CurrentRoleModelList && this.CurrentRoleModelList.Count > 0) { foreach (Eastcom.Model.Sys_Power_Role m in this.CurrentRoleModelList) { rightTempLst = rightBLL.GetModelListByRoleID(m.RoleID); if (null != rightTempLst && rightTempLst.Count > 0) { rightLst.AddRange(rightTempLst); } } } /*用户——权限*/ rightTempLst = rightBLL.GetModelListByUserID(this.CurrentUserModel.UserID); if (null != rightTempLst && rightTempLst.Count > 0) { rightLst.AddRange(rightTempLst); } if (null != rightLst && rightLst.Count > 0) { rightLst = rightLst.Distinct().ToList(); this.CurrentRightModelList = rightLst; } } } //this.IsLogin = loginFlag; }