3 changed files with 43 additions and 1 deletions
@ -0,0 +1,40 @@ |
|||||
|
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 YunDingFilterAttribute : ActionFilterAttribute |
||||
|
{ |
||||
|
private IConfiguration configuration; |
||||
|
private YunDingBusiness yunDingBusiness; |
||||
|
|
||||
|
|
||||
|
public YunDingFilterAttribute(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("YunDingKey获取失败"); |
||||
|
|
||||
|
if (yunDingBusiness.GetKey() != yundingKey.ToString()) |
||||
|
throw new BusinessException("YunDingKey验证失败"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue