Última Atualização
Antigamente, ao definir um projeto novo em core MVC, você tinha que definir se o projeto teria ou não identificação/autorização. A partir do core 2.1 isso não é mais necessário. Você pode definir isso depois. Melhor ainda: você pode criar um projeto novo com o Syncfusion, com todos componentes que deseja usar – e depois acrescentar Autenticação e Identidade da Microsoft
Passo 1: Instale o Gerenciador (Painel de Controle) da Syncfusion
Ao instalar, escolha ao menos a opção Syncfusion ASP.NET Core versão JS 2. Importante: pegue sua licença comunitária na Syncfusion antes… Ela serve para todos seus projetos.
Passo 2: Instale as extensões “Syncfusion Visual Studio extension”.
Você pode definir se quer as extensões para o Visual Studio 2017, 2019 ou ambas. Notar que na verdão 2017 as opções do Syncfusion estarão na barra superior, primeiro nível. Já no 2019. procure em Extesões -> Syncfusion. Veja aqui como fazer.
Passo 3: Gere sua aplicação inicial
Duas opções para gerar:
A partir do Visual Studio: procure o template CORE MVC com a marca da SYNCFUSION (deve ser o último da lista) e gere a aplicação.
- A partir do Painel de Controle da Syncfusion. Neste caso, você pode pré-selecionar todos os componentes que pretende usar em seus projetos.
Nos dois casos você pode escolher se quer arquivos auxiliares locais ou em CDN (eu escolhi CDN) e o tipo de tema que vai querer usar (eu escolhi Bootstrap).
Uma vez que você criou o projeto, rode em debug para ver se está OK na máquina local.
Passo 4: Instale a Identidade/Autorização da Microsoft
- Clique (com o botão da direita) no nome de seu projeto no Solution Explorer do Visual Studio. Você deverá rodar o Identity Scafolder; Add > New Scaffolded Item.
- No painel esquerdo do diálogo Add Scafold, selecione Identity > ADD;
- No Add Identity, selecione as opções que você vai querer usar (tipo págias de deleção, de troca de senha, de confirmação de e-mail, etc – além da página de login);
- Selecione a página de layout que você já possui (_layout.cshtm, normalmente em Views/Shared). Do contrário, seu arquivo de layout será escrito com códigos incorretos. Por exemplo , escolha
~/Pages/Shared/_Layout.cshtml
se você tiver páginas Razor. Ou <~/Views/Shared/_Layout.cshtml
para projetos MVC (seu caso deve ser este) - Selecione o botá + para criar uma Classe de Contexto de Dados (Data context class) . O sistema vai sugerir um, use esse. Se não sugerir, defina um,
- Selecione a página de layout que você já possui (_layout.cshtm, normalmente em Views/Shared). Do contrário, seu arquivo de layout será escrito com códigos incorretos. Por exemplo , escolha
- Selecione ADD.
Passo 5: Acertando o arquivo de Layout (_layout.cshtm)
Para poder “ver” os dados de login assim que rodar a aplicação, é fundamental adicionar no seu arquivo Views/Shared/_Layout.cshtml o login parcial ( (_loginPartial). Para isso terá que inserir <partial name=“_LoginPartial” />. Como a aplicação usa cookies, também terá de inserir <partial name=”_CookieConsentPartial” />. Veja no arquido de exemplo abaixo onde deve inserir esses comandos. No SEU próprio arquivo, nã mude MAIS NADA a não ser incluir essas duas linha. Veja um exemplo abaixo (não copie todas as linhas para o seu arquivo Views/Shared/_Layout.cshtml.
Você tem muitas outras opções de incluir ou alterar a identidade. Basta conferir no artigo “Scaffold Identity in ASP.NET Core projects” da Microsoft.
Passo 6 – Preparando o banco de dados
Muito provavelmente sua aplicação vai rodar em um servidor externo MYSQL ou MSSQL.
Crie o database em vazio (sem tabelas ainda) e pegue a definição da string de conexão. Exemplo:
“Data Source=EndereçoDoServidor;Initial Catalog=NomeDOBancoDeDados;User Id=NomeDoUsuario;Password=SenhaDoUsuario;”
No arquivo appsetings,json TROQUE a string de conexão gerada na criação do seu aplicativo pela sua string de conexão.
Passo 7 – Fazendo o Scafolding acertar seu banco de dados, criando as tabelas para identificação e autorização
A identidade é essencialmente configurada em Areas/Identity/IdentityHostingStartup.cs. Para mais informações, consulte IHostingStartup.
As tabelas do banco de dados para Identidade e Autorização requerem o uso do Entity Framework Core Migrations. Será necessário fazer uma migração e autulizar o banco de dados. Isso pode ser feito em Tools->NudgePackageManager->PacketManagerConsole (usuamente chamada de PMC). Rode os seguintes comando:
O parâmetro “CreateIdentitySchema” psrs o comando Add-Migration
descreve no nome da migração. Ele é opcional, mas é sempre últil dar um nome para você lembrar depois o que essa migração fez (criou nova tabela, modificou uma tabela, acrescentou um campo, eliminou um campo, etc.
No arquivo startup.cs é fundamental ter certeza que estão as seguintes linhas de configuração da aplicação:
app.UseStaticFiles();
app.UseAuthentication();
A segunda linha é fundamental. Veja abaixo onde encaixar essas 2 linhas:
Agora você pode rodar sua aplicação localmente e fazer os ajustes que quiser. Os 2 artigos da referência dão muitas dicas, inclusive para implementar o serviço de e-mail e alterar páginas Razor.
Referências:
- Scaffold Identity in ASP.NET Core projects
- Syncfusion VS extensions now on the Visual Studio Marketplace!
- ASP.NET Core Extensions – Syncfusion
- Syncfusion Visual Studio Extensions
- Identity model customization in ASP.NET Core
- Add, download, and delete custom user data to Identity in an ASP.NET Core project
- Syncfusion -Get Your Free Trial Today
Obrigado pela sua leitura. Continue visitando este blog e compartilhe artigos em sua rede de relacionamento. Por favor, se quiser, registre sugestões e comentários ao final da página.
Trackbacks/Pingbacks