В ASP.Net Web API 2 (Owin), в чем разница между IAuthenticationFilter
и AuthorizeAttribute
?Разница между AuthorizeAttribute и IAuthenticationFilter
В настоящее время я реализовал свое разрешение на создание моего собственного AuthorizeAttribute
так:
public class IntegratedAuthorization : AuthorizeAttribute
{
protected override bool IsAuthorized(System.Web.Http.Controllers.HttpActionContext actionContext)
{
bool returnValue = false;
if (actionContext.Request.Headers.Authorization != null)
{
if (actionContext.Request.Headers.Authorization.Scheme != null)
{
if (actionContext.Request.Headers.Authorization.Scheme.ToLower() == "basic")
{
if (actionContext.Request.Headers.Authorization.Parameter != null)
{
// ....
// ....
// ....
}
}
}
}
return returnValue;
}
}
чем я добавил его к моему HttpConfiguration
так:
config.Filters.Add(new IntegratedAuthorization());
Все работает отлично, но когда я искал в Интернете, я нашел много разработчиков, которые используют IAuthenticationFilter
, как в этом уроке: Authentication Filters in ASP.NET Web API 2.
Теперь реальный вопрос, в чем разница между этими двумя методами? Что я должен использовать?
Спасибо!
Пожалуйста, отмените ответ NightOwl888 как лучший ответ. Он даже не упоминает 'IAuthenticationFilter' и не отвечает на ваш вопрос. – xr280xr