User profile service #2
1 changed files with 3 additions and 16 deletions
|
@ -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();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue