Declarações e autorização baseada em política no ASP.NET Core

Concluído

Na unidade anterior, você adicionou a funcionalidade de código QR para habilitar a autenticação multifator. Nesta unidade, você vai aprender sobre autorização com base em declarações e políticas.

Autorização versus autenticação

Tudo o que você aprendeu sobre o Identity até agora foi sobre autenticação. A autenticação é um processo que verifica se o usuário é quem ele afirma ser.

Considere um formulário de entrada. Ao inserir seu nome de usuário no formulário, você alega ser você. O formulário autentica você como a pessoa que você afirma ser verificando sua senha.

Autorização é o processo que determina o que um usuário autenticado pode fazer. Por exemplo, uma tela de administração pode ser limitada aos 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ítica

As declarações são pares nome-valor que descrevem o que a entidade é (não o que ela pode fazer). As declarações são atribuídas por uma autoridade confiável e usadas para impor políticas de autorização.

Considere uma ID emitida pelo governo. A ID exibe seus atributos. Eles são declarações. As partes interessadas podem observar a ID, verificar sua origem e autenticidade e tomar decisões com base nos atributos. As decisões impõem uma política.

Veja bares e pubs para obter um exemplo mais concreto. Alice quer comprar uma bebida para adultos. O atendente do bar examina as credenciais de Alice e observa a declaração de sua data de nascimento. Ele então impõe 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 por políticas para autorização. Na próxima unidade, você usará o Identity para armazenar declarações e aplicar políticas para acesso condicional.

Verificar seu conhecimento

1.

Qual das afirmativas a seguir é verdadeira?