Назад к вопросам
Junior — Middle
76
Каким образом осуществляется контроль доступа пользователя к системе?
Компании, где спрашивали
Rubytech
Ответ от нейросети
sobes.tech AI
Контроль доступа пользователя к системе — это процесс проверки и управления правами пользователя на выполнение определённых действий или доступ к ресурсам.
Основные этапы контроля доступа:
- Аутентификация — проверка личности пользователя (например, ввод логина и пароля).
- Авторизация — определение, какие действия разрешены аутентифицированному пользователю.
- Аудит — запись и анализ действий пользователя для безопасности.
В Go это часто реализуется через middleware, который проверяет токены или сессии, а затем определяет права доступа.
Пример простого middleware для проверки авторизации:
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 {
// Логика проверки токена
return token == "valid-token"
}
Таким образом, контроль доступа обеспечивает безопасность и правильное распределение прав в системе.