WebApi的自定义Filter
生活随笔
收集整理的這篇文章主要介紹了
WebApi的自定义Filter
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http.Controllers;
using System.Web.Http.Filters; namespace WebAPIFilterTest1
{
public class MyAutorFilter : IAuthorizationFilter
{
public bool AllowMultiple => true;
public async Task<HttpResponseMessage> ExecuteAuthorizationFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task<HttpResponseMessage>> continuation)
{
IEnumerable<string> userNames;
if(! actionContext.Request.Headers.TryGetValues("UserName", out userNames))
{
return new HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized);
}
string userName = userNames.First();
if (userName=="admin")
{
return await continuation();
}
else
{
return new HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized);
} }
}
}
MyAutorFilter
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http; namespace WebAPIFilterTest1
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 配置和服務(wù) // Web API 路由
config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
); config.Filters.Add(new MyAutorFilter());
}
}
}
WebApiConfig
總結(jié)
以上是生活随笔為你收集整理的WebApi的自定义Filter的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web应用程序的安全性问题依其存在的形势
- 下一篇: RtlInitUnicodeString