apache: аутентификация и авторизация. #2

, apache

Процесс аутентификации/авторизации происходит в три этапа.

Получение аутентификационных данных. На этом этапе работает mod_auth_basic или mod_auth_digest. Они читают заголовок запроса Authentication и вытягивают оттуда аутентификационные данные (credentials). Для Basic-аутентификации это просто ‘username:password’ в base64 кодировке. Для Digest-аутентификации это md5-дайджест имени пользователя, пароля, authname и других параметров, которые мы позже рассмотрим детально.

Аутентификация (проверка аутентификационных данных). На этом этапе работают модули mod_authn_***, которые проверяют аутентификационные данные. Например, модуль mod_authn_file исчет пару username:password в текстовом файле. Результат работы этих модулей - аутентифицирован успешно (AUTH_GRANTED), доступ запрещён (AUTH_DENIED) или пользователь не найден (AUTH_USER_NOT_FOUND).

Авторизация (предоставление прав). На этом этапе работают модули mod_authz_***, которые проверяют возможность доступа для уже аутентифицированного пользователя. Например, если задано Require user tomas, то модуль mod_authz_user предоставит доступ только пользователю tomas и запретит всем остальным. Если задано Require valid-user, то модуль mod_authz_user предоставит доступ любому успешно аутентифицированному пользователю.

Дальше - mod_auth_basic.