aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Api/Auth
diff options
context:
space:
mode:
authorcvium <clausvium@gmail.com>2023-02-09 08:53:59 +0100
committercvium <clausvium@gmail.com>2023-02-09 13:51:37 +0100
commitf984f31896d9f5b34b488efb845d73f901fc9a80 (patch)
tree6381b2d4a7572147bb1a5fa0e32c49506e788924 /Jellyfin.Api/Auth
parenta4c3011ee8326c3140abbe6de872f7438c58fd1e (diff)
admins shouldn't be able to circumvent remote access policies
Diffstat (limited to 'Jellyfin.Api/Auth')
-rw-r--r--Jellyfin.Api/Auth/DefaultAuthorizationPolicy/DefaultAuthorizationHandler.cs14
1 files changed, 7 insertions, 7 deletions
diff --git a/Jellyfin.Api/Auth/DefaultAuthorizationPolicy/DefaultAuthorizationHandler.cs b/Jellyfin.Api/Auth/DefaultAuthorizationPolicy/DefaultAuthorizationHandler.cs
index 7489e2a35..0f3c69abc 100644
--- a/Jellyfin.Api/Auth/DefaultAuthorizationPolicy/DefaultAuthorizationHandler.cs
+++ b/Jellyfin.Api/Auth/DefaultAuthorizationPolicy/DefaultAuthorizationHandler.cs
@@ -38,13 +38,6 @@ namespace Jellyfin.Api.Auth.DefaultAuthorizationPolicy
/// <inheritdoc />
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, DefaultAuthorizationRequirement requirement)
{
- // Admins can do everything
- if (context.User.GetIsApiKey() || context.User.IsInRole(UserRoles.Administrator))
- {
- context.Succeed(requirement);
- return Task.CompletedTask;
- }
-
var userId = context.User.GetUserId();
// This likely only happens during the wizard, so skip the default checks and let any other handlers do it
if (userId.Equals(default))
@@ -62,6 +55,13 @@ namespace Jellyfin.Api.Auth.DefaultAuthorizationPolicy
return Task.CompletedTask;
}
+ // Admins can do everything
+ if (context.User.GetIsApiKey() || context.User.IsInRole(UserRoles.Administrator))
+ {
+ context.Succeed(requirement);
+ return Task.CompletedTask;
+ }
+
// It's not great to have this check, but parental schedule must usually be honored except in a few rare cases
if (requirement.ValidateParentalSchedule && !user.IsParentalScheduleAllowed())
{