1.添加过滤器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
namespace Demo_Api1.Service
{
public class UsersAtuhorizeAttribute : IAuthorizationFilter
{
public void OnAuthorization(AuthorizationFilterContext context)
{
var token = context.HttpContext.Request.Headers["token"]; //获取请求头header携带的token值
if (token != "12313") //进行比较
{
//不通过,则返回验证失败
context.Result = new JsonResult(
new
{
code = -1,
msg = "验证失败"
});
}
}
}
}
2.使用filter实现验证
使用 TypeFilter 标记Controller或者方法
[TypeFilter(typeof(UsersAtuhorizeAttribute))]
也可以用ServiceFilter(定义多种生命周期过滤器)
先在configservices注册
然后使用 [ServiceFilter(typeof(UsersAtuhorizeAttribute))] 标记controller或者方法
使用网页请求访问
测试
点按钮请求用户,断点调试可以进入过滤器,并获取到这次携带的token:123123,认证通过!



