Я изучаю пользовательские фильтры в MVC5 и создал простой пользовательский фильтр аутентификации. Я заметил, что мы можем достичь одного и того же результата, используя два разных подхода.
У меня вопрос: есть ли какая-то тонкая разница и если да, то когда мы должны использовать одно поверх другого или они оба выполняют одну и ту же работу?
public class MyAuthenticationFilter : FilterAttribute, IAuthenticationFilter
{
public void OnAuthentication(AuthenticationContext filterContext)
{
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new HttpUnauthorizedResult();
}
}
public void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext)
{
}
}
И
public class MyAuthenticationFilter : FilterAttribute, IAuthenticationFilter
{
public void OnAuthentication(AuthenticationContext filterContext)
{
if (!filterContext.HttpContext.Request.IsAuthenticated)
{
filterContext.Result = new HttpUnauthorizedResult();
}
}
public void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext)
{
}
}