Índice
O primeiro mecanismo de defesa que um site ou aplicativo da web tem contra o acesso não autorizado às suas informações é o autenticação de usuário; Com isso consegue-se que um usuário que deseja acessar uma seção tenha que apresentar credenciais que são reconhecidas por nossa estrutura de persistência de dados.Dada a importância desta seção, ASP.NET MVC Inclui uma estrutura básica com a funcionalidade que está pronta para ser utilizada em ambiente de produção se a considerarmos, mas graças à estrutura da aplicação é altamente personalizável, com isso podemos adaptá-la às nossas necessidades.
Aplicando autenticação
Para exigir que um usuário faça login e se autentique em nosso sistema, podemos solicitar a ele de várias maneiras para fazer isso, podemos validar ações individuais dos controladores ou também podemos proteger um controlador em sua totalidade.
Por que proteger ações e controladores?Isso ocorre porque o sistema de acesso a recursos passa pelo roteadorOu seja, a única forma de a aplicação acessar os recursos é por meio das URLs, para isso sabemos que cada URL irá chamar uma ação dentro de um controlador e por conveniência aplicamos a autenticação ali.
Vamos ver na imagem a seguir um código de um controlador de usuário que nos permite acessar seu perfil:
Agora vamos ver na imagem a seguir como ASP.NET MVC Isso nos ajuda a lidar com o requisito de ter que estar logado para acessar a ação correspondente:
AccountController
Como a tarefa de um framework é facilitar a vida e o trabalho do desenvolvedor, ASP.NET MVC já implementa um controlador de conta de usuário, o AccountController, ele contém ações totalmente funcionais que facilitam o fluxo do aplicativo.
As ações que implementou são:
Conecte-sePara que o usuário possa se autenticar.
SairPermite que o usuário faça logout.
RegistroPermite o cadastro de um novo usuário.
Mudança de senhaComo o próprio nome indica, permite ao usuário modificar sua senha para entrar no sistema.
É importante enfatizar que devido ao modularidade da construção do aplicativo, podemos personalizar este módulo de login com uma conta para o sistema, na verdade é aconselhável, pelo menos, alterar a aparência: