Files
2026-08-05 21:15:15 +03:00

56 lines
1.9 KiB
C#

// using System;
// using System.Collections.Generic;
// using System.Linq;
// using System.Threading.Tasks;
// using Microsoft.AspNetCore.Authorization;
// using Core.Services;
// using System.Security.Claims;
// using Microsoft.AspNetCore.Identity;
// using System.Threading.Tasks;
// namespace Commerce.Config.AuthorizeHandlers;
// public class OrderOwnerOrAdminHandler : AuthorizationHandler<OrderOwnerOrAdminRequirement, Guid>
// {
// // private readonly IServiceProvider _serviceProvider;
// // public OrderOwnerOrAdminHandler(IServiceProvider serviceProvider)
// // {
// // _serviceProvider = serviceProvider;
// // }
// private readonly IServiceProvider _serviceProvider;
// public OrderOwnerOrAdminHandler(IServiceProvider serviceProvider)
// {
// _serviceProvider = serviceProvider;
// }
// protected override async Task HandleRequirementAsync(AuthorizationHandlerContext context,
// OrderOwnerOrAdminRequirement requirement, Guid orderId)
// {
// using var scope = _serviceProvider.CreateScope();
// var orderService = scope.ServiceProvider.GetRequiredService<OrderService>();
// var user = context.User;
// var userId = user.FindFirst(ClaimTypes.NameIdentifier)?.Value;
// var isAdmin = user.IsInRole("Admin");
// if (isAdmin)
// {
// context.Succeed(requirement);
// return;
// }
// // // var order = await orderService.GetOrderById(orderId.ToString());
// // if (order != null && order.CustomerId == userId)
// // {
// // context.Succeed(requirement);
// // }
// }
// }
// public class OrderOwnerOrAdminRequirement : IAuthorizationRequirement { }