C# 过滤器/拦截器

时间:2025-01-21 07:18:17
  • 先经过AuthorizeFilter进行鉴权,看看Token是否有效。
  • 然后到AuthorizationHandler进行授权验证,看看有没有访问该接口的权限。
  • 如果鉴权失败了会触发JwtBearerEvents的OnChallenge委托,如果授权失败会触发OnForbidden委托。
  • 然后到IResourceFilter进行资源缓存,如果从缓存里面获取到了数据就直接返回结果。
  • 然后到ActionFilterAttribute。
  • 进入Action之前先执行OnActionExecting方法。
  • 然后执行Intercept。
  • 在生成结果之前执行OnResultExecting方法。
  • 在生成结果之后执行OnResultExected方法。
  • 然后到IAlwaysRunResultFilter,可以对响应的结果进行补充。
  • 然后再执行Intercept。
  • 最后执行OnActionExected方法。
  • 中间如果出现异常会到ExecptionFilterAttribute,执行OnException方法。