using BBWY.Common.Models; using BBWY.Server.Business; using BBWY.Server.Model; using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Primitives; namespace JD.API.Filters { public class YunDingFilter : ActionFilterAttribute { private IConfiguration configuration; private YunDingBusiness yunDingBusiness; public YunDingFilter(IConfiguration configuration, YunDingBusiness yunDingBusiness) { this.configuration = configuration; this.yunDingBusiness = yunDingBusiness; } public override void OnActionExecuted(ActionExecutedContext context) { } public override void OnActionExecuting(ActionExecutingContext context) { var platform = (Enums.Platform)int.Parse(configuration.GetSection("ValidatePlatformKey").Value); if (platform == Enums.Platform.京东) { if (!context.HttpContext.Request.Headers.TryGetValue("YunDingKey", out StringValues yundingKey)) throw new BusinessException("身份验证失败"); if (yunDingBusiness.GetKey() != yundingKey.ToString()) throw new BusinessException("身份验证失败"); } } } }