using LiveForum.Model.Dto.Permission; using LiveForum.Model.Enum; using System.Threading.Tasks; namespace LiveForum.IService.Permission { /// /// 权限服务接口 - 计算用户有效权限、校验单项权限 /// public interface IPermissionService { /// /// 获取用户的有效权限集合 /// 有效权限 = SK认证等级权限 ∪ 所有身份组权限(任一来源允许即允许) /// /// 用户ID /// 用户的有效权限DTO Task GetEffectivePermissionAsync(long userId); /// /// 校验用户是否拥有指定权限,无权限时抛出 MessageBox 异常(ResponseCode.Forbidden) /// /// 用户ID /// 要校验的权限类型 Task CheckPermissionAsync(long userId, PermissionType permissionType); } }