Crear una aplicación de Microsoft MVC core 2.0 con identity
Primero vamos a ir a Visual Studio 2017 y crear una aplicación en el folder Web.
Cuando creamos el proyecto le debemos dar el nombre (en mi caso "IdentityTest") y buscamos el directorio donde vamos a guardar nuestro proyecto.
Luego en la siguiente pantalla seleccionamos el proyecto de tipo Web Application. Luego debemos dar clic en el botón "Change Authenication". Como podemos observar antes de cambiar esta opción en el área que dice Athentication dice "No Authentication"
En la opción Change Authentication debemos seleccionar "Individual User Accounts". Después de esto damos clic en Ok.
Como vemos el texto del área de Authentication cambia por "Individual User Account" .
Ahora lo que tenemos que hacer es dar clic en el botón de ok para que VS2017 termine de configurar el proyecto.
Cuando VS2017 termina de crear nuestro proyecto debemos ir al archivo "appsettingsjson". Cuando abrimos el archivo vamos a ver un connectionString que se llama default.
Se tiene que cambiar este connectionString con el de su base de datos. No es necesario tener los objetos de identity en la base de datos. Estos se pueden crear con el proceso que vamos a ver en unos momentos.
Ahora vamos a ir al Startup.cs class para ver la configuración básica que se creó para la autenticación de nuestros sistemas.
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddMvc()
.AddRazorPagesOptions(options =>
{
options.Conventions.AuthorizeFolder("/Account/Manage");
options.Conventions.AuthorizePage("/Account/Logout");
});
// Register no-op EmailSender used by account confirmation and password reset during development
// For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=532713
services.AddSingleton<IEmailSender, EmailSender>();
}
Como se puede observar se está usando el DefaulConnection para identificar cual es la base de datos que deseamos usar.
Ahora si estamos listos para correr nuestra aplicación. cuando está corriendo la aplicación nos vamos a ir a login para ingresar a nuestra app. A continuación, nos dirigimos a la página para registrar usuarios y tratamos de crear un usuario. En ese momento vamos a ver la siguiente página que parece un error.
Damos clic en el botón que dice Apply Migrations con esto creamos los objetos para el servicio de identity en nuestro servidor. Cuando se termina el proceso de migración podemos refrescar la página y todo va a funcionar bien. Además, si vamos a la base de datos vamos a poder ver los objetos creados.
Con esto ya tenemos listo nuestro sistema mvc core 2.0 usando identity. Ahora puede crear y autenticar sus usuarios.
Puede encontrar el ejemplo aquí Ejemplo
Puede encontrar el ejemplo aquí Ejemplo