it-roy-ru.com

Идентичность в ASP.Net Core 2.1: настройка AccountController

Я установил ASP.NET Core 2.1, но, хотя я создал новый ASP.NET Core Web Application, используя ASP.NET Core 2.1 с Individual User AccountsStore user accounts in-app, я не могу найти AccountController или Views. 

Я все еще могу зарегистрироваться и войти без проблем, но я не могу найти код для него, он присутствовал в 2.0. 

 enter image description here

59
Ogglas

Одним из улучшений в 2.1 были библиотеки классов Razor, и идентичность по умолчанию находится в одном из них в отдельных шаблонах аутентификации. Если вы хотите, чтобы код был в вашем приложении, чтобы вы могли настроить его, вы можете создать его с помощью Visual Studio или с помощью глобального инструмента scaffolder. Смотрите это руководство о том, как сделать оба.

55
tura08

В ASP.NET Core 2.1 появилась новая функция, называемая библиотеками классов Razor, которая позволяет создавать представления и страницы как часть повторно используемой библиотеки. ASP.NET Core Identity был перенесен в такой RCL. Вы можете переопределить его в своем проекте:

  1. В Solution Explorer щелкните правой кнопкой мыши проект> Add> New Scaffolded Item.
  2. На левой панели диалогового окна Add Scaffold выберите Identity> ADD.
  3. В диалоговом окне ADD Identity выберите файлы, которые вы хотите переопределить .
    1. Выберите макет при необходимости
    2. Выберите или создайте класс контекста Data.
  4. Нажмите ADD.

Для получения дополнительной информации посетите документацию .

51
Xeevis

Мое решение - создать проект с .net core 2.0, а затем обновить фреймворк до 2.1 и всю зависимость до последней версии.

5
Wang

Поскольку ASP.NET Core 2.1 пользовательский интерфейс identity поставляется как библиотека

Но вы можете переопределить представления и контроллеры, разместив их в нужных местах (например, View/Account/Login.cshtml).

2
CodeTherapist

Оказывается, ASP.NET Core Identity теперь доступен в виде готового пакета под названием Microsoft.AspNetCore.Identity.UI

Вы можете прочитать больше об этом здесь:

https://blogs.msdn.Microsoft.com/webdev/2018/03/02/aspnetcore-2-1-identity-ui/

1
Ogglas

Насколько мне известно, код AccountController был перемещен на страницы Razor (и его код) и работает лучше всего с использованием значений по умолчанию, поэтому для настройки кода вы можете использовать Scaffold (т.е. создавать файлы в нужном месте) из совершенно новой сети. Проект Core 2.1, щелкнув правой кнопкой мыши Project в Visual Studio 2017 и выбрав Add => New Scaffolded Item => Identity, который открывает диалог выбора. Выберите нужные страницы, и вы идете. Просто измените нужные страницы и скопируйте их в то же место в проекте с включенной идентификацией, поскольку эти новые страницы автоматически переопределяют значения по умолчанию. Это новый способ настройки аутентификации/авторизации с использованием Identity, не уверенный, считают ли многие это значительным прогрессом!

0
Lance Parkington