using DataProviders.Collections; using DomainObjects.Documents; using Microsoft.AspNetCore.Authorization; using WeatherForecast.Policies.Abstractions; using WeatherForecast.Services; namespace WeatherForecast.Policies { /// /// /// public class ShopCartAuthorizationHandler : AuthorizationHandlerBase> { /// /// /// /// /// /// public ShopCartAuthorizationHandler( IHttpContextAccessor contextAccessor, IUserDataProvider userDataProvider, IAccountPolicyService accountService ) : base(contextAccessor, userDataProvider, accountService) { } /// /// /// /// /// /// /// protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ShopCartAuthorizationRequirement requirement, List resource) { var user = GetUser(context); if (user == null) return Task.CompletedTask; // any authenticated user except context.Succeed(requirement); return Task.CompletedTask; } } /// /// /// public class ShopCartAuthorizationRequirement : AuthorizationRequirementBase { } }