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:
- Uwierzytelnianie — sprawdzanie tożsamości użytkownika (np. wprowadzenie loginu i hasła).
- Autoryzacja — określenie, które działania są dozwolone dla uwierzytelnionego użytkownika.
- 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.