RequiresElevationHandler.cs 727 B

1234567891011121314151617181920212223
  1. using System.Threading.Tasks;
  2. using Jellyfin.Api.Constants;
  3. using Microsoft.AspNetCore.Authorization;
  4. namespace Jellyfin.Api.Auth.RequiresElevationPolicy
  5. {
  6. /// <summary>
  7. /// Authorization handler for requiring elevated privileges.
  8. /// </summary>
  9. public class RequiresElevationHandler : AuthorizationHandler<RequiresElevationRequirement>
  10. {
  11. /// <inheritdoc />
  12. protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, RequiresElevationRequirement requirement)
  13. {
  14. if (context.User.IsInRole(UserRoles.Administrator))
  15. {
  16. context.Succeed(requirement);
  17. }
  18. return Task.CompletedTask;
  19. }
  20. }
  21. }