AuthService.cs 939 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma warning disable CS1591
  2. using Jellyfin.Data.Enums;
  3. using MediaBrowser.Controller.Net;
  4. using Microsoft.AspNetCore.Http;
  5. namespace Emby.Server.Implementations.HttpServer.Security
  6. {
  7. public class AuthService : IAuthService
  8. {
  9. private readonly IAuthorizationContext _authorizationContext;
  10. public AuthService(
  11. IAuthorizationContext authorizationContext)
  12. {
  13. _authorizationContext = authorizationContext;
  14. }
  15. public AuthorizationInfo Authenticate(HttpRequest request)
  16. {
  17. var auth = _authorizationContext.GetAuthorizationInfo(request);
  18. if (auth?.User == null)
  19. {
  20. return null;
  21. }
  22. if (auth.User.HasPermission(PermissionKind.IsDisabled))
  23. {
  24. throw new SecurityException("User account has been disabled.");
  25. }
  26. return auth;
  27. }
  28. }
  29. }