Na construção de qualquer software, dois termos são bastante citados durante todo processo de desenvolvimento: Autenticação e Autorização. É com o uso destas duas técnicas que garantimos uma maior segurança aos recursos protegidos de um sistema. Sendo assim, neste artigo veremos o que é e como funcionam cada um deles.
Autenticação
A autenticação verifica a identidade digital do usuário, ou seja, processo de verificação de uma identidade. Em termos mais simples, é quando o usuário prova de fato quem ele é.
Um exemplo bem comum de autenticação é a combinação Username e Password (Usuário e senha).
Desta forma, ao logar-se em qualquer sistema que necessite deste procedimento, o usuário está passando por um processo de autenticação. Porém, não é apenas este procedimento que autentica um usuário.
Podemos citar como exemplos:
- Validações por token;
- CPF e senha;
- E-mail e senha;
- Certificado digital, entre outros.
Autorização
Por sua vez, a autorização é o processo que ocorre após ser validada a autenticação. Diz respeito aos privilégios que são concedidos a determinado usuário ao utilizar uma aplicação.
Serve para verificar se determinado usuário terá a permissão para utilizar, executar recursos ou manipular determinadas ações, que é de fundamental importância dentro de uma aplicação.
Um exemplo que podemos atribuir a autorização é o uso de um ERP de uma determinada empresa.
Após realizar a autenticação no sistema, o usuário do financeiro terá acesso apenas aos módulos correspondentes à realização de seu trabalho, como contas a pagar, contas a receber, etc.
Já o funcionário que trabalha, por exemplo, no setor de RH, não terá acesso aos módulos do financeiro, ficando restrito apenas aos módulos necessários para realização do seu trabalho, como: cadastro de funcionários, histórico de salários e benefícios, cadastro de cargos, controle de exames médicos, entre outros.
Concluindo
Desta forma, podemos perceber as diferenças entre Autenticação e Autorização e o quanto estes dois conceitos são importantes para a segurança de aplicações.