|
@@ -11,6 +11,7 @@ using Jellyfin.Api.Auth;
|
|
|
using Jellyfin.Api.Auth.AnonymousLanAccessPolicy;
|
|
|
using Jellyfin.Api.Auth.DefaultAuthorizationPolicy;
|
|
|
using Jellyfin.Api.Auth.FirstTimeSetupPolicy;
|
|
|
+using Jellyfin.Api.Auth.LocalAccessOrRequiresElevationPolicy;
|
|
|
using Jellyfin.Api.Auth.SyncPlayAccessPolicy;
|
|
|
using Jellyfin.Api.Auth.UserPermissionPolicy;
|
|
|
using Jellyfin.Api.Constants;
|
|
@@ -65,18 +66,20 @@ namespace Jellyfin.Server.Extensions
|
|
|
.AddRequirements(new DefaultAuthorizationRequirement())
|
|
|
.Build();
|
|
|
|
|
|
+ options.AddPolicy(Policies.AnonymousLanAccessPolicy, new AnonymousLanAccessRequirement());
|
|
|
+ options.AddPolicy(Policies.CollectionManagement, new UserPermissionRequirement(PermissionKind.EnableCollectionManagement));
|
|
|
options.AddPolicy(Policies.Download, new UserPermissionRequirement(PermissionKind.EnableContentDownloading));
|
|
|
options.AddPolicy(Policies.FirstTimeSetupOrDefault, new FirstTimeSetupRequirement(requireAdmin: false));
|
|
|
options.AddPolicy(Policies.FirstTimeSetupOrElevated, new FirstTimeSetupRequirement());
|
|
|
options.AddPolicy(Policies.FirstTimeSetupOrIgnoreParentalControl, new FirstTimeSetupRequirement(false, false));
|
|
|
options.AddPolicy(Policies.IgnoreParentalControl, new DefaultAuthorizationRequirement(validateParentalSchedule: false));
|
|
|
+ options.AddPolicy(Policies.LiveTvAccess, new UserPermissionRequirement(PermissionKind.EnableLiveTvAccess));
|
|
|
+ options.AddPolicy(Policies.LiveTvManagement, new UserPermissionRequirement(PermissionKind.EnableLiveTvManagement));
|
|
|
+ options.AddPolicy(Policies.LocalAccessOrRequiresElevation, new LocalAccessOrRequiresElevationRequirement());
|
|
|
options.AddPolicy(Policies.SyncPlayHasAccess, new SyncPlayAccessRequirement(SyncPlayAccessRequirementType.HasAccess));
|
|
|
options.AddPolicy(Policies.SyncPlayCreateGroup, new SyncPlayAccessRequirement(SyncPlayAccessRequirementType.CreateGroup));
|
|
|
options.AddPolicy(Policies.SyncPlayJoinGroup, new SyncPlayAccessRequirement(SyncPlayAccessRequirementType.JoinGroup));
|
|
|
options.AddPolicy(Policies.SyncPlayIsInGroup, new SyncPlayAccessRequirement(SyncPlayAccessRequirementType.IsInGroup));
|
|
|
- options.AddPolicy(Policies.CollectionManagement, new UserPermissionRequirement(PermissionKind.EnableCollectionManagement));
|
|
|
- options.AddPolicy(Policies.LiveTvAccess, new UserPermissionRequirement(PermissionKind.EnableLiveTvAccess));
|
|
|
- options.AddPolicy(Policies.LiveTvManagement, new UserPermissionRequirement(PermissionKind.EnableLiveTvManagement));
|
|
|
options.AddPolicy(
|
|
|
Policies.RequiresElevation,
|
|
|
policy => policy.AddAuthenticationSchemes(AuthenticationSchemes.CustomAuthentication)
|