在asp.net web api上筛选消息处理程序
我开发了一个API,需要保护它。 我需要保护security1和security2中的大多数方法。 我开发了两个消息句柄来实现这两种安全性。 我面临一个问题,这两个句柄与所有请求一起顺序执行。 如何以一种冷静的方式过滤处理程序以满足请求。在asp.net web api上筛选消息处理程序,asp.net,asp.net-mvc-4,asp.net-web-api,Asp.net,Asp.net Mvc 4,Asp.net Web Api,我开发了一个API,需要保护它。 我需要保护security1和security2中的大多数方法。 我开发了两个消息句柄来实现这两种安全性。 我面临一个问题,这两个句柄与所有请求一起顺序执行。 如何以一种冷静的方式过滤处理程序以满足请求。 提前感谢…创建两个授权筛选器,并将其应用到您希望的位置 public class MySecurity1Attribute : AuthorizeAttribute { protected override bool IsAuthorized(Http
提前感谢…创建两个授权筛选器,并将其应用到您希望的位置
public class MySecurity1Attribute : AuthorizeAttribute
{
protected override bool IsAuthorized(HttpActionContext actionContext)
{
// Do your security 1 stuff here and return true if authorized
}
}
public class MySecurity2Attribute : AuthorizeAttribute
{
protected override bool IsAuthorized(HttpActionContext actionContext)
{
// Do your security 2 stuff here and return true if authorized
}
}
public MyController : ApiController
{
[MySecurity1]
public HttpResponseMessage Post()
{
}
}
public MyOtherController : ApiController
{
[MySecurity2]
public HttpResponseMessage Post()
{
}
}
什么是security1和security2?security1和security2在不同的路径中吗?如果是,您可以在路由定义中配置处理程序。实际上,安全1是基本身份验证,安全2是HMAC身份验证,我想用第一个身份验证一些post请求,用HMAC安全验证一些post请求。谢谢,这是一个干净的解决方案。