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); }
//权限检查 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); }