Declarações e autorização baseada em políticas no ASP.NET Core
Na unidade anterior, você adicionou a funcionalidade de código QR para habilitar a autenticação multifator. Nesta unidade, você aprende sobre autorização com base em declarações e políticas.
Autorização vs. autenticação
Tudo o que você aprendeu sobre o Identity até agora foi sobre autenticação. A autenticação é um processo no qual se verifica que um usuário é quem afirma ser.
Considere um formulário de entrada. Quando introduz o seu nome de utilizador no formulário, está a afirmar ser você. O formulário autentica-o como a pessoa que afirma ser, verificando a sua palavra-passe.
Autorização refere-se ao processo que determina o que um usuário autenticado tem permissão para fazer. Por exemplo, uma tela de administração pode ser limitada a usuários com uma declaração de IsAdmin=True
. Como as declarações estão associadas a uma identidade, não pode haver autorização sem autenticação.
Declarações e autorização baseada em políticas
As declarações são pares nome-valor que descrevem o que é o assunto, não o que ele pode fazer! As declarações são atribuídas por uma autoridade confiável e usadas para aplicar políticas de autorização.
Considere um documento de identificação emitido pelo governo. O ID exibe seus atributos. Trata-se de reivindicações. As partes interessadas podem observar o ID, verificar sua origem e autenticidade e tomar decisões com base nos atributos. As decisões impõem uma política.
Procure nos bares e tabernas um exemplo mais concreto. Alice quer comprar uma bebida para adultos. O barman examina as credenciais de Alice e observa a reivindicação de sua data de nascimento. Eles então aplicam uma política com base nessa data de nascimento, e Alice é autorizada a comprar a bebida.
Resumo
Nesta unidade, você aprendeu a diferença entre autenticação e autorização. Você também aprendeu como as declarações são usadas pelas políticas de autorização. Na próxima unidade, você pode usar Identity para armazenar declarações e aplicar políticas de acesso condicional.