Example #1
0
        /// <summary>
        /// 用户权限验证
        /// </summary>
        /// <param name="TopClassID">案卷目录ID</param>
        /// <param name="pmType">权限种类</param>
        /// <returns></returns>
        public static bool checkPermission_GD(int ClassID, PermissionType_Content pmType)
        {
            if (_systemManager != null && _systemManager == true)
            {
                return(true);
            }

            if (pmList != null)
            {
                int  ksID   = GetKeShiID_GD(ClassID);
                bool result = false;
                for (int i = 0; i < pmList.Length; i++)
                {
                    Permission_Content pm = pmList[i];
                    if (pm.科室ID == ksID)
                    {
                        switch (pmType)
                        {
                        case PermissionType_Content.查看:
                            result = pm.查看;
                            break;

                        case PermissionType_Content.编辑:
                            result = pm.编辑;
                            break;

                        case PermissionType_Content.检索:
                            result = pm.检索;
                            break;

                        case PermissionType_Content.打印:
                            result = pm.打印;
                            break;

                        case PermissionType_Content.非密原件查看:
                            result = pm.非密原件查看;
                            break;

                        case PermissionType_Content.涉密原件查看:
                            result = pm.涉密原件查看;
                            break;

                        case PermissionType_Content.原件管理:
                            result = pm.原件管理;
                            break;
                        }
                    }
                }

                return(result);
            }
            else
            {
                return(false);
            }
        }
Example #2
0
        ///// <summary>
        ///// 当前登录用户是否为系统管理员
        ///// </summary>
        //private static bool SystemManager
        //{
        //    get { return _systemManager; }
        //    set { _systemManager = value; }
        //}

        /// <summary>
        /// 获取用户权限
        /// (登录后获取并存储权限信息)
        /// </summary>
        /// <param name="UserID"></param>
        public static void getPermission(int UserID, int DeptID)
        {
            int ksID;
            int roleID;
            Permission_Content pm;

            _deptID = DeptID;

            //获取用户是否为系统管理员
            _systemManager = ExistSystemManager(UserID);

            if (_systemManager)
            {
                return;
            }

            //获取案卷目录,依次获取案卷目录的权限信息
            DataSet dsKeShi = getKeShi(DeptID);

            if (dsKeShi != null)
            {
                pmList = new Permission_Content[dsKeShi.Tables[0].Rows.Count];//定义权限信息列表

                for (int i = 0; i < dsKeShi.Tables[0].Rows.Count; i++)
                {
                    ksID    = Convert.ToInt32(dsKeShi.Tables[0].Rows[i][0]);
                    pm      = new Permission_Content();
                    pm.科室ID = ksID;

                    //获取角色信息,组合多个角色在某一级类目中的权限
                    DataSet dsRole = getUserRole(UserID);
                    if (dsRole != null && dsRole.Tables[0].Rows.Count > 0)
                    {
                        for (int j = 0; j < dsRole.Tables[0].Rows.Count; j++)
                        {
                            roleID = Convert.ToInt32(dsRole.Tables[0].Rows[j][0]);

                            #region 读取权限
                            DataSet dsPermission = getPermissionData(roleID, ksID);
                            if (dsPermission != null && dsPermission.Tables[0].Rows.Count > 0)
                            {
                                //记录拥有的权限,没有的权限则采用默认值false
                                if (Convert.ToBoolean(dsPermission.Tables[0].Rows[0]["查看"]))
                                {
                                    pm.查看 = true;
                                }
                                if (Convert.ToBoolean(dsPermission.Tables[0].Rows[0]["编辑"]))
                                {
                                    pm.编辑 = true;
                                }
                                if (Convert.ToBoolean(dsPermission.Tables[0].Rows[0]["检索"]))
                                {
                                    pm.检索 = true;
                                }
                                if (Convert.ToBoolean(dsPermission.Tables[0].Rows[0]["打印"]))
                                {
                                    pm.打印 = true;
                                }
                                if (Convert.ToBoolean(dsPermission.Tables[0].Rows[0]["非密原件查看"]))
                                {
                                    pm.非密原件查看 = true;
                                }
                                if (Convert.ToBoolean(dsPermission.Tables[0].Rows[0]["涉密原件查看"]))
                                {
                                    pm.涉密原件查看 = true;
                                }
                                if (Convert.ToBoolean(dsPermission.Tables[0].Rows[0]["原件管理"]))
                                {
                                    pm.原件管理 = true;
                                }
                            }
                            #endregion
                        }
                    }

                    pmList[i] = pm;
                }
            }
        }