filterContext.HttpContext.Request.IsAuthenticated против filterContext.HttpContext.User.Identity.IsAuthenticated в пользовательском фильтре аутентификации - PullRequest
0 голосов
/ 11 апреля 2019

Я изучаю пользовательские фильтры в 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)
        {

        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...