apache: аутентификация и авторизация. #2
24 Apr 2008, 05:47, 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.