我开发了一个API,需要保护它。 我需要在security1中保护大多数方法,在security2中保护一些方法。 我开发了两个消息句柄来实现这两种证券。 我遇到一个问题,两个句柄按顺序执行所有请求。 我如何以一种很酷的方式过滤处理程序到请求。 提前谢谢......
答案 0 :(得分:2)
创建两个授权过滤器并应用到您希望的位置。
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()
{
}
}