using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Nirvana.Common.ApiBase; using System; using System.Collections.Generic; using System.Linq; using System.Security.Claims; using System.Threading.Tasks; namespace YBDevice.NApi { /// /// 授权策略 /// public class ApiAuthorizeRequirement : AuthorizationHandler, IAuthorizationRequirement { protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ApiAuthorizeRequirement requirement) { if (!context.User.HasClaim(c => c.Type == ClaimTypes.DateOfBirth)) { context.Fail(); } else { context.Succeed(requirement); } return Task.CompletedTask; } } }