Identidad en ASP.Net Core 2.1: Personalizar AccountController

90

Lo he instalado ASP.NET Core 2.1pero aunque he creado un nuevo ASP.NET Core Web Applicationuso ASP.NET Core 2.1con Individual User AccountsStore user accounts in-appNo puedo encontrar el AccountController o Views.

Todavía puedo registrarme e iniciar sesión sin problemas, pero no puedo encontrar el código, estaba presente en 2.0.

ingrese la descripción de la imagen aquí

Ogglas
fuente
He hecho una pregunta aquí si está interesado en responder: stackoverflow.com/questions/51728881/… . Estoy luchando con el cierre de sesión en una aplicación .NET Core 2.1 Identity Server 4. +1.
w0051977

Respuestas:

74

Uno de los cambios 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 utilizarlo como andamio con Visual Studio o con la herramienta global de andamio. Consulte esta guía sobre cómo hacer ambas cosas.

marcusturewicz
fuente
20
Pude generar archivos cshtml, no controladores. Guide no lo mencionó, ¿alguna idea de cómo generar accountController?
user1085907
6
Ah, mi mal ... es como diseñador en
subarchivo
15
¿Por qué esto es una mejora ? Hace las cosas innecesariamente complicadas.
liang
93

ASP.NET Core 2.1 introdujo una nueva característica llamada bibliotecas de clases Razor que le permite crear vistas y páginas como parte de una biblioteca reutilizable. ASP.NET Core Identity se trasladó a dicho RCL. Puede anularlo en su proyecto:

  1. Desde el Explorador de soluciones , haga clic con el botón derecho en el proyecto> Agregar > Nuevo elemento con scaffold .
  2. En el panel izquierdo del cuadro de diálogo Agregar andamio , seleccione Identidad > AGREGAR .
  3. En el cuadro de diálogo AÑADIR identidad , elija los archivos que desee anular.
    1. Seleccione el diseño si es necesario
    2. Seleccione o cree una clase de contexto de datos .
  4. Presione AGREGAR .

Para obtener más información, visite la documentación .

Xeevis
fuente
1
Debe
1
Esto todavía no trae el campo Controlador de cuenta, digo que he agregado campos personalizados, ¿cómo le digo que los necesito en el método de registro?
rogue39nin
Oye, ¿qué pasa si quiero sobrescribir el controlador en lugar de la página de la maquinilla de afeitar? Estoy usando SPA, así que no estoy seguro de poder anular el controlador
Robert Tirta
7

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

Wang
fuente
2

Hasta donde yo sé, el código de AccountController se ha movido a las páginas de Razor (y su código subyacente) y funciona mejor con los valores predeterminados, de modo que para personalizar el código puede utilizar Scaffold (es decir, crear los archivos en el lugar correcto) desde una nueva red. Proyecto Core 2.1 haciendo clic con el botón derecho en el Proyecto en Visual Studio 2017 y seleccionando Agregar => Nuevo elemento con scaffold => Identidad que abre un cuadro de diálogo Seleccionar. Elija las páginas deseadas y listo. Simplemente cambie las páginas que desee y cópielas 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 utilizando Identity, ¡no estoy seguro de si muchos consideran este progreso significativo!

Lance Parkington
fuente