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());
      }
    }

  • 相关阅读:
    UVA 10828
    素数推断算法(高效率)
    POJ1611 The Suspects (并查集)
    Android AES加密算法及事实上现
    C语言中的内存对齐
    OpenCV——老照片效果
    uuid 学习
    OpenCV——PS 滤镜, 浮雕效果
    加密算法之BLOWFISH算法
    OpenCV——照亮边缘
  • 原文地址:https://www.cnblogs.com/bruce1992/p/14032260.html
Copyright © 2011-2022 走看看