ASP .NET Core - Implementando o Identity via NET CLI - II

 Neste artigo vou mostrar como criar uma aplicação ASP .NET Core 2.1 e implementar o Identity via NET CLI usando o VS Code.

      

Continuando o artigo anterior veremos como customizar o Identity em nossa aplicação.

Você já sabe que agora os recursos do Identity são fornecidos em uma Razor Class Library no pacote Microsoft.AspNetCore.Identity.UI(2.1.1) e que não temos mais acesso ao código desta implementação no projeto. 

Vimos que fazer a customização usando o VS 2017 é bem simples, mas, e, como fazer essa customização usando a ferramenta de linha de comando NET CLI ?

Vamos mostrar como customizar a aplicação traduzindo as páginas de Login e Register na aplicação usando a NET CLI.

Vamos abrir um terminal de linha de comando e se posicionar na pasta do projeto.

A primeira coisa a fazer é instalar o scaffolder de ASP.NET Core usando o comando NET CLI : 
dotnet tool install --global dotnet-aspnet-codegenerator

A ferramenta dotnet-aspnet-codegenerator é usada para fazer o Scaffold e gerar o código dos arquivos para Login e Register em nossa aplicação.

No meu ambiente o template já esta instalado.

A seguir adicione uma referência de pacote ao Microsoft.VisualStudio.Web.CodeGeneration.Design ao projeto (*. csproj).  Para isso execute os seguinte comandos (em sequência) no diretório do projeto:

dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
dotnet restore

No momento que estou escrevendo este artigo é necessário fazer mais um ajuste no projeto.

Teremos que incluir uma referência ao pacote Microsoft.VisualStudio.Web.CodeGeneration.Tools na versão atual que é 2.0.4 definindo a referência como DotnetCliToolReference no arquivo de projeto .csproj - aspnIdentity.csproj :

Para saber se o ambiente esta corretamente configurado vamos tentar usar a ferramenta donet aspnet-codegenerator para listar as opções de scaffolder de identidade, digitando o comando:
dotnet aspnet-codegenerator identity -h

Se você visualizar as opções conforme mostra a figura acima então o seu ambiente esta corretamente configurado.

Na lista acima temos opções para definir o nome do arquivo de contexto em uso (--dbContext) e outras opções. Dentre elas, podemos listar os arquivos que podem ser gerados via Scaffold no projeto digitando o comando : dotnet aspnet-codegenerator identity --listFiles

Agora vamos usar a ferramenta para gerar os arquivos que desejamos customizar via Scaffold.

Podemos fazer isso de diversas formas.

Uma delas é configurar o Identity com a interface do usuário padrão e o número mínimo de arquivos usando o parâmetro --useDefaultUI.  

A seguir temos o comando NET CLI : 
dotnet aspnet-codegenerator identity --useDefaultUI

Podemos também selecionar quais arquivos desejamos gerar. Para isso temos que informar o arquivo de contexto e a lista de arquivos com nome completo entre aspas e separados por ponto e vírgula.

Assim para gerar apenas os arquivos Register, Login e Account o comando NET CLI usado seria:

dotnet aspnet-codegenerator identity
-dc aspnIdentity.Data.ApplicationDbContext
--files "Account.Register;Account.Login;Account.Logout"

No comando acima informamos :

1- o arquivo de contexto :
 -dc aspnIdentity.Data.ApplicationDbContext

2- os arquivos Register, Login e Logout que desejamos gerar :
--files "Account.Register;Account.Login;Account.Logout"

Abrindo o projeto no VS Code veremos a pasta Account contendo os arquivos Login, Register e Logout criados no projeto :

O arquivo IdentityHostingStartup.cs define a configuração dos serviços para o EF Core e do Identity e deverá estar vazio visto que esta configuração já esta definida no arquivo Startup.

Agora basta ajustar o código dos arquivos de Login, Register e Logout e dar um build e executar o projeto novamente:

Abrindo a aplicação no navegador podemos constatar os ajustes feitos que customizam o Identity em nosso projeto:

E assim vimos como customizar o Identity na ASP .NET Core 2.1 usando a NET CLI.

Deus nunca foi visto por alguém. O Filho unigênito, que está no seio do Pai, esse o revelou.
João 1:18

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti