rdt-client/server/RdtClient.Service/Middleware/AuthSettingHandler.cs
2026-05-18 21:30:31 +02:00

27 lines
762 B
C#

using Microsoft.AspNetCore.Authorization;
using RdtClient.Data.Enums;
using RdtClient.Service.Services;
namespace RdtClient.Service.Middleware;
public class AuthSettingRequirement : IAuthorizationRequirement
{
}
public class AuthSettingHandler(ISettings settings) : AuthorizationHandler<AuthSettingRequirement>
{
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, AuthSettingRequirement requirement)
{
if (context.User.Identity?.IsAuthenticated == true)
{
context.Succeed(requirement);
}
if (settings.Current.General.AuthenticationType == AuthenticationType.None)
{
context.Succeed(requirement);
}
return Task.CompletedTask;
}
}