Remove explicit fail call in admin authorization

This commit is contained in:
martinshoob 2025-08-11 18:18:31 +02:00
parent ae723cecaf
commit 1906d0de0d

View file

@ -2,6 +2,7 @@ using DrinkRateAPI.DbEntities;
using DrinkRateAPI.Services; using DrinkRateAPI.Services;
namespace DrinkRateAPI.AuthorizationPolicies; namespace DrinkRateAPI.AuthorizationPolicies;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
public class AdminOnlyRequirement : IAuthorizationRequirement public class AdminOnlyRequirement : IAuthorizationRequirement
@ -22,28 +23,14 @@ public class AdminOnlyHandler : AuthorizationHandler<AdminOnlyRequirement>
} }
protected override async Task HandleRequirementAsync( protected override async Task HandleRequirementAsync(
AuthorizationHandlerContext context, AuthorizationHandlerContext context,
AdminOnlyRequirement requirement) AdminOnlyRequirement requirement)
{ {
DbUserProfile userProfile; var userProfile = await _applicationUserService.UserProfileByApplicationUserAsync(context.User);
try
{
userProfile = await _applicationUserService.UserProfileByApplicationUserAsync(context.User);
}
catch (Exception _)
{
context.Fail();
return;
}
if (_userProfileService.IsUserProfileAdmin(userProfile)) if (_userProfileService.IsUserProfileAdmin(userProfile))
{ {
context.Succeed(requirement); context.Succeed(requirement);
} }
else
{
context.Fail();
}
} }
} }