mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Defer standard authentication checks to DefaultAuthorizationHandler
This commit is contained in:
parent
d0336cd67e
commit
8fa7ff647a
@ -32,16 +32,8 @@ namespace Jellyfin.Api.Auth.FirstTimeSetupPolicy
|
|||||||
{
|
{
|
||||||
context.Fail();
|
context.Fail();
|
||||||
}
|
}
|
||||||
else if (!requirement.RequireAdmin && context.User.IsInRole(UserRoles.Guest))
|
|
||||||
{
|
|
||||||
context.Fail();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Any user-specific checks are handled in the DefaultAuthorizationHandler.
|
|
||||||
context.Succeed(requirement);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// Any user-specific checks are handled in the DefaultAuthorizationHandler.
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,10 +52,10 @@ namespace Jellyfin.Api.Tests.Auth.FirstTimeSetupPolicy
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Theory]
|
[Theory]
|
||||||
[InlineData(UserRoles.Administrator, true)]
|
[InlineData(UserRoles.Administrator, false)]
|
||||||
[InlineData(UserRoles.Guest, false)]
|
[InlineData(UserRoles.Guest, true)]
|
||||||
[InlineData(UserRoles.User, false)]
|
[InlineData(UserRoles.User, true)]
|
||||||
public async Task ShouldRequireAdministratorIfStartupWizardComplete(string userRole, bool shouldSucceed)
|
public async Task ShouldRequireAdministratorIfStartupWizardComplete(string userRole, bool shouldFail)
|
||||||
{
|
{
|
||||||
TestHelpers.SetupConfigurationManager(_configurationManagerMock, true);
|
TestHelpers.SetupConfigurationManager(_configurationManagerMock, true);
|
||||||
var claims = TestHelpers.SetupUser(
|
var claims = TestHelpers.SetupUser(
|
||||||
@ -66,14 +66,14 @@ namespace Jellyfin.Api.Tests.Auth.FirstTimeSetupPolicy
|
|||||||
var context = new AuthorizationHandlerContext(_requirements, claims, null);
|
var context = new AuthorizationHandlerContext(_requirements, claims, null);
|
||||||
|
|
||||||
await _firstTimeSetupHandler.HandleAsync(context);
|
await _firstTimeSetupHandler.HandleAsync(context);
|
||||||
Assert.Equal(shouldSucceed, context.HasSucceeded);
|
Assert.Equal(shouldFail, context.HasFailed);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Theory]
|
[Theory]
|
||||||
[InlineData(UserRoles.Administrator, true)]
|
[InlineData(UserRoles.Administrator)]
|
||||||
[InlineData(UserRoles.Guest, false)]
|
[InlineData(UserRoles.Guest)]
|
||||||
[InlineData(UserRoles.User, true)]
|
[InlineData(UserRoles.User)]
|
||||||
public async Task ShouldRequireUserIfNotRequiresAdmin(string userRole, bool shouldSucceed)
|
public async Task ShouldDeferIfNotRequiresAdmin(string userRole)
|
||||||
{
|
{
|
||||||
TestHelpers.SetupConfigurationManager(_configurationManagerMock, true);
|
TestHelpers.SetupConfigurationManager(_configurationManagerMock, true);
|
||||||
var claims = TestHelpers.SetupUser(
|
var claims = TestHelpers.SetupUser(
|
||||||
@ -87,7 +87,8 @@ namespace Jellyfin.Api.Tests.Auth.FirstTimeSetupPolicy
|
|||||||
null);
|
null);
|
||||||
|
|
||||||
await _firstTimeSetupHandler.HandleAsync(context);
|
await _firstTimeSetupHandler.HandleAsync(context);
|
||||||
Assert.Equal(shouldSucceed, context.HasSucceeded);
|
Assert.False(context.HasSucceeded);
|
||||||
|
Assert.False(context.HasFailed);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user