Junior — Middle
Como é efetuado o controlo de acesso do utilizador ao sistema?
sobes.tech IA
Resposta da IA
O controlo de acesso de um utilizador ao sistema é o processo de verificar e gerir os direitos do utilizador para realizar certas ações ou aceder a recursos.
As principais etapas do controlo de acesso:
- Autenticação — verificar a identidade do utilizador (por exemplo, inserindo nome de utilizador e palavra-passe).
- Autorização — determinar quais ações estão permitidas ao utilizador autenticado.
- Auditoria — registar e analisar as ações do utilizador para segurança.
Em Go, isto é frequentemente implementado através de middleware, que verifica tokens ou sessões, e depois determina os direitos de acesso.
Exemplo de middleware simples para verificar autorização:
func AuthMiddleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
token := r.Header.Get("Authorization")
if !isValidToken(token) {
http.Error(w, "Unauthorized", http.StatusUnauthorized)
return
}
next.ServeHTTP(w, r)
})
}
func isValidToken(token string) bool {
// Lógica de verificação do token
return token == "valid-token"
}
Assim, o controlo de acesso garante a segurança e a distribuição correta de direitos no sistema.