Sobes.tech
Junior — Middle

Jak jest realizowana kontrola dostępu użytkownika do systemu?

sobes.tech AI

Odpowiedź od AI

Kontrola dostępu użytkownika do systemu to proces weryfikacji i zarządzania prawami użytkownika do wykonywania określonych działań lub dostępu do zasobów.

Główne etapy kontroli dostępu:

  1. Uwierzytelnianie — sprawdzanie tożsamości użytkownika (np. wprowadzenie loginu i hasła).
  2. Autoryzacja — określenie, które działania są dozwolone dla uwierzytelnionego użytkownika.
  3. Audyt — rejestrowanie i analiza działań użytkownika dla bezpieczeństwa.

W Go często realizuje się to za pomocą middleware, które sprawdza tokeny lub sesje, a następnie określa prawa dostępu.

Przykład prostego middleware do sprawdzania autoryzacji:

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 {
    // Logika sprawdzania tokena
    return token == "valid-token"
}

W ten sposób kontrola dostępu zapewnia bezpieczeństwo i prawidłowy podział uprawnień w systemie.