Exemplo n.º 1
0
        public bool HasPermission(LibHandle handle, string progId, FuncPermissionEnum funcPermission)
        {
            bool ret = false;

            if (handle == LibHandleCache.Default.GetSystemHandle())
            {
                ret = true;
            }
            else
            {
                string            roleId         = handle.RoleId;
                LibRolePermission rolePermission = LibRolePermissionCache.Default.GetCacheItem(roleId);
                if (rolePermission.IsUnlimited)
                {
                    ret = true;
                }
                else if (rolePermission.PermissionDic.ContainsKey(progId))
                {
                    LibPermission permission = rolePermission.PermissionDic[progId];
                    ret = (permission.OperateMark & (int)funcPermission) == (int)funcPermission;
                }
                if (roleId == string.Empty)
                {
                    ret = true;
                }
            }
            return(ret);
        }
Exemplo n.º 2
0
        //权限检查
        protected bool CheckHasPermission(FuncPermissionEnum permission)
        {
            bool ret = (this.Template.FuncPermission.Permission & (int)permission) == (int)permission;

            if (ret)
            {
                if (LibHandleCache.Default.GetSystemHandle() != this.Handle)
                {
                    ret = LibPermissionControl.Default.HasPermission(this.Handle, this.ProgId, permission);
                    if (!ret)
                    {
                        this.ManagerMessage.AddMessage(LibMessageKind.Error, "当前人员不具备操作权限。");
                    }
                }
            }
            else
            {
                this.ManagerMessage.AddMessage(LibMessageKind.Error, string.Format("由于功能{0}不具备当前操作条件,因此当前操作不能执行。", this.Template.DisplayText));
            }
            return(ret);
        }