c# - existing - aspnet core 2.1 identity
Identidad en ASP.Net Core 2.1: Personalizar AccountController (6)
He instalado
ASP.NET Core 2.1
pero, a pesar de que he creado una nueva
ASP.NET Core Web Application
utilizando
ASP.NET Core 2.1
con
Individual User Accounts
→
Store user accounts in-app
no puedo encontrar el AccountController o Views.
Todavía puedo registrarme e iniciar sesión sin problema, pero no puedo encontrar el código para eso, estaba presente en 2.0.
ASP.NET Core 2.1 introdujo una nueva característica llamada bibliotecas de clase Razor que le permite crear vistas y páginas como parte de una biblioteca reutilizable. ASP.NET Core Identity se movió a dicho RCL. Puedes anularlo en tu proyecto:
- Desde el Explorador de soluciones , haga clic con el botón derecho en el proyecto> Agregar > Nuevo elemento de andamiaje .
- En el panel izquierdo del cuadro de diálogo Agregar andamio , seleccione Identidad > AGREGAR .
-
En el cuadro de diálogo
AGREGAR Identidad
, elija los archivos que desea anular.
- Seleccione el diseño si es necesario
- Seleccione o cree la clase de contexto de datos .
- Pulse ADD .
Para más información visite la documentación .
Desde
ASP.NET Core 2.1
la
interfaz de usuario de identidad se envía como una biblioteca
.
Pero puede anular las vistas y los controladores colocándolos en las ubicaciones correctas (por ejemplo, View / Account / Login.cshtml).
Mi solución es crear un proyecto con .net core 2.0 y luego actualizar el marco a 2.1 y toda la dependencia a la última versión
Por lo que sé, el código de AccountController se ha movido a las páginas de Razor (y su código está detrás) y funciona mejor utilizando los valores predeterminados para personalizar el código que puede usar Scaffold (es decir, crear los archivos en el lugar correcto) desde una nueva red. Haga clic con el botón derecho en el proyecto en Visual Studio 2017 y seleccione Add => New Scaffolded Item => Identity para abrir el proyecto Select 2.1. Elige las páginas deseadas y ahí lo tienes. Simplemente cambie las páginas que desea y copie en el mismo lugar en un proyecto habilitado para Identidad, ya que estas nuevas páginas anulan automáticamente los valores predeterminados. ¡Esta es la nueva forma de personalizar la autenticación / autorización usando Identidad, no estoy seguro de si muchos consideran este progreso significativo!
Resulta que
ASP.NET Core Identity
ahora está disponible como un paquete creado previamente llamado
Microsoft.AspNetCore.Identity.UI
.
Puedes leer más sobre esto aquí:
https://blogs.msdn.microsoft.com/webdev/2018/03/02/aspnetcore-2-1-identity-ui/
Una de las mejoras en 2.1 fue Razor Class Libraries y la identidad predeterminada vive en una de estas en las plantillas de autenticación individuales. Si desea tener el código en su aplicación para poder personalizarlo, puede organizarlo con Visual Studio o con la herramienta de scaffolder global. Vea esta guía sobre cómo hacer ambas cosas.