Autenticação versus Autorização

Qual é a diferença em aplicativos da web? Em suma, por favor.

Eu vejo a abreviação “auth” muito. Representa autenticação de autenticação ou autorização ? Ou ambos?

Autenticação é o processo de averiguar que alguém realmente é quem ele diz ser.

Autorização refere-se a regras que determinam quem pode fazer o quê. Por exemplo, Adam pode ser autorizado a criar e excluir bancos de dados, enquanto o Usama só está autorizado a ler.

Os dois conceitos são completamente ortogonais e independentes, mas ambos são centrais para o projeto de segurança, e a falha em obter um ou outro correto abre caminho para o comprometimento.

Em termos de aplicativos da web, falando muito rudemente, a autenticação é quando você verifica as credenciais de login para ver se você reconhece um usuário como logado, e a autorização é quando você consulta seu controle de access, permitindo que o usuário visualize, edite ou exclua ou crie conteúdo.

Em suma, por favor. 🙂

Autenticação = login + senha (quem você é)

Autorização = permissions (o que você tem permissão para fazer)

É mais provável que a “auth” curta se refira ao primeiro ou a ambos.

Como Autenticação vs Autorização :

Autenticação é o mecanismo pelo qual os sistemas podem identificar com segurança seus usuários. Os sistemas de autenticação fornecem respostas para as perguntas:

  • Quem é o usuário?
  • O usuário realmente é quem ele representa?

A autorização , ao contrário, é o mecanismo pelo qual um sistema determina qual nível de access um determinado usuário autenticado deve ter para garantir resources controlados pelo sistema. Por exemplo, um sistema de gerenciamento de database pode ser projetado para fornecer a determinados indivíduos a capacidade de recuperar informações de um database, mas não a capacidade de alterar os dados armazenados na base de dados, dando a outros indivíduos a capacidade de alterar dados. Os sistemas de autorização fornecem respostas para as perguntas:

  • O usuário X está autorizado a acessar o recurso R?
  • O usuário X está autorizado a executar a operação P?
  • O usuário X está autorizado a executar a operação P no recurso R?

Veja também:

  • Autenticação vs. autorização na Wikipedia

Eu prefiro Verificação e Permissões para Autenticação e Autorização.

É mais fácil na minha cabeça e no meu código pensar em “verificação” e “permissions” porque as duas palavras

  • não soa parecido
  • não tem a mesma abreviatura

Autenticação é verificação e Autorização está verificando permissão (s). Auth também pode significar, mas é usado com mais frequência como “User Auth”, ou seja, “User Authentication”

A confusão é compreensível, já que as duas palavras soam parecidas e, como os conceitos são frequentemente relacionados e usados ​​juntos. Além disso, como mencionado, a abreviação Auth não ajuda.

Outros já descreveram bem o que significa autenticação e autorização. Aqui está uma regra simples para ajudar a manter os dois claramente separados:

  • A autorização de autenticação valida sua identificação (ou autenticidade , se você preferir)
  • Autorização valida sua autoria , isto é, seu direito de acessar e possivelmente mudar alguma coisa.

Eu tentei criar uma imagem para explicar isso nas palavras mais simples

1) Autenticação significa “Você é quem você diz que é?”

2) Autorização significa “Você deve ser capaz de fazer o que está tentando fazer?”.

Isso também é descrito na imagem abaixo.

insira a descrição da imagem aqui

Eu tentei explicar nos melhores termos possíveis, e criei uma imagem do mesmo.

Adicionando a resposta de @ Kerrek;

A autenticação é um formulário generalizado (todos os funcionários podem fazer login na máquina)

Autorização é forma especializada (Mas admin só pode instalar / desinstalar o aplicativo na máquina)

Autenticação é o processo de verificação da identidade proclamada.

  • por exemplo, nome de usuário / senha

Geralmente seguido de autorização , que é a aprovação de que você pode fazer isso e aquilo.

  • por exemplo, permissions

Autenticação é o processo de verificar seu login no nome de usuário e senha.

Autorização é o processo de verificação de que você pode acessar algo.