Sobes.tech
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:

  1. Autenticação — verificar a identidade do utilizador (por exemplo, inserindo nome de utilizador e palavra-passe).
  2. Autorização — determinar quais ações estão permitidas ao utilizador autenticado.
  3. 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.