zoukankan      html  css  js  c++  java
  • WebAPI 自定义过滤

    自定义filter 类过滤

    -------------------------------------------------------------------------

    public class MyFilter : IAuthorizationFilter
    {
      public bool AllowMultiple => true;

      public async Task<HttpResponseMessage> ExecuteAuthorizationFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task<HttpResponseMessage>>     continuation)
      {
        IEnumerable<string> name;
        bool v = actionContext.Request.Headers.TryGetValues("username", out name);

        string nm = name.FirstOrDefault();
        if(nm==null)
        {
          return new HttpResponseMessage(HttpStatusCode.Unauthorized);
      }
      else
      {
        return await continuation();
      }

      return new HttpResponseMessage(HttpStatusCode.Unauthorized);

      }
    }

    添加filter 类到配置文件

    ---------------------------------------------------------------------------------------------------

    public static class WebApiConfig
    {
      public static void Register(HttpConfiguration config)
      {
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{action}/{id}",
        defaults: new { id = RouteParameter.Optional });
        config.Filters.Add(new MyFilter());
      }
    }

  • 相关阅读:
    Redis详解
    Redis详细介绍
    memcache数据组织
    memcache细节解析
    memcached命令和配置
    PHP的Cookie、Session和跟Laravel相关的几点了解
    Session机制
    Cookie和Session详解
    Apache的Directory配置指南
    [C语言](二)01 获取Windows图形构件大小信息
  • 原文地址:https://www.cnblogs.com/bruce1992/p/14032260.html
Copyright © 2011-2022 走看看