Junior — Middle
Jak je zajištěna kontrola přístupu uživatele do systému?
sobes.tech AI
Odpověď od AI
Ovládání přístupu uživatele k systému je proces ověřování a správy práv uživatele k provádění určitých akcí nebo přístupu k prostředkům.
Hlavní fáze kontroly přístupu:
- Autentizace — ověření identity uživatele (například zadáním přihlašovacího jména a hesla).
- Autorizace — určení, jaké akce jsou povoleny pro autentizovaného uživatele.
- Audit — zaznamenávání a analýza akcí uživatele pro bezpečnost.
V Go se to často realizuje pomocí middleware, který kontroluje tokeny nebo relace a poté určuje práva přístupu.
Příklad jednoduchého middleware pro kontrolu autorizace:
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 ověření tokenu
return token == "valid-token"
}
Tímto způsobem zajišťuje kontrola přístupu bezpečnost a správné rozdělení práv v systému.