Идентификация в ASP.Net Core 2.1: настройка AccountController
Я установил ASP.NET Core 2.1
но даже при том, что я создал новое ASP.NET Core Web Application
ASP.NET Core 2.1
с использованием ASP.NET Core 2.1
с Individual User Accounts
Store user accounts in-app
Individual User Accounts
→ Store user accounts in-app
Я не могу найти AccountController или Views.
Я все еще могу зарегистрироваться и войти без проблем, но я не могу найти код для него, он присутствовал в версии 2.0.
Ответы
Ответ 1
Одним из изменений в 2.1 стало использование библиотек классов Razor, и идентичность по умолчанию находится в одном из них в отдельных шаблонах аутентификации. Если вы хотите, чтобы код был в вашем приложении, чтобы вы могли настроить его, вы можете создать его с помощью Visual Studio или с помощью инструмента глобального скаффолдера. Смотрите это руководство о том, как сделать то и другое.
Ответ 2
В ASP.NET Core 2.1 появилась новая функция, называемая библиотекой классов Razor, которая позволяет создавать виды и страницы как часть многоразовой библиотеки. Идентификатор ядра ASP.NET был перенесен на такой RCL. Вы можете переопределить его в своем проекте:
- В обозревателе решений щелкните правой кнопкой мыши проект> Добавить > Новый элемент подкладок.
- На левой панели диалогового окна " Добавить леса " выберите " Идентификация" > " ДОБАВИТЬ".
- В диалоговом окне ADD Identity выберите файлы, которые вы хотите переопределить.
- Выберите макет, если необходимо
- Выберите или создайте класс контекста данных.
- Нажмите ADD.
Для получения дополнительной информации посетите документацию.
Ответ 3
Мое решение - создать проект с.net core 2.0, а затем обновить структуру до 2.1 и всю зависимость от последней версии
Ответ 4
Поскольку ASP.NET Core 2.1
идентификационный интерфейс отправляется как библиотека.
Но вы можете переопределить представления и контроллеры, поместив их в нужные места (например, View/Account/Login.cshtml).
Ответ 5
Оказывается, ASP.NET Core Identity
теперь доступен как готовый пакет под названием Microsoft.AspNetCore.Identity.UI
.
Вы можете прочитать больше об этом здесь:
https://blogs.msdn.microsoft.com/webdev/2018/03/02/aspnetcore-2-1-identity-ui/
Ответ 6
Насколько мне известно, код AccountController был перемещен на страницы Razor (и их код позади) и лучше всего работает с настройками по умолчанию, поэтому для настройки кода вы можете использовать Scaffold (т.е. Создавать файлы в нужном месте) из совершенно новой сети Core 2.1, щелкнув правой кнопкой мыши Project в Visual Studio 2017 и выбрав Add => New Scaffolded Item => Identity, который открывает диалоговое окно Select. Выберите нужные страницы, и там вы идете. Просто измените нужные страницы и скопируйте их в том же месте в проекте с включенной идентификацией, так как эти новые страницы автоматически переопределяют значения по умолчанию. Это новый способ настройки аутентификации/авторизации с использованием Identity, не уверен, считают ли многие этот значительный прогресс!