Понимание входа в систему с использованием основного шаблона удостоверения asp.net

В Visual Studio 2017 создайте новый проект веб-приложения ASP.NET Core (.NET Core), изменив аутентификацию на отдельные учетные записи пользователей (с использованием удостоверения ASP.NET Core).

В созданном проекте есть AccountController. В методе входа [HttpGet] есть следующее:

// Clear the existing external cookie to ensure a clean login process
await HttpContext.Authentication.SignOutAsync(_externalCookieScheme);

Я просто пытаюсь немного лучше понять процесс аутентификации. Итак, мои вопросы:

  1. Что делает этот код?
  2. Почему он включен в этот метод?
  3. Если я не включу это в свой собственный метод входа в систему, при каких обстоятельствах я столкнусь с проблемой и в чем будет проблема?

person fractor    schedule 20.05.2017    source источник
comment
что он делает в этом комментарии: Очистите существующий внешний файл cookie, чтобы обеспечить чистый процесс входа в систему   -  person Alexan    schedule 20.05.2017


Ответы (1)


В удостоверении вы можете использовать внешний вход, такой как Microsoft, Google или Facebook, и этот метод гарантирует, что вы не вошли в эти службы до аутентификации пользователя. просто, если вы используете внешний вход, включите эту строку в свое Login действие, иначе она вам не понадобится.

person Alireza Orumand    schedule 21.05.2017
comment
Спасибо. Таким образом, код выводит текущего пользователя из приложения, если он вошел в систему с помощью внешнего поставщика удостоверений. Он включен в этот метод, потому что в противном случае пользователь мог бы войти в систему как с внешним поставщиком, так и с поставщиком входа в приложение одновременно? Что будет, если это произойдет? - person fractor; 22.05.2017