Esempio n. 1
0
    /// <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);
    }
Esempio n. 2
0
    /// <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);
    }
Esempio n. 3
0
    /// <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;
    }