Аутентификация пользователей в Tomcat#
В Tomcat существует несколько способов аутентификации пользователей. В данном разделе описаны методы аутентификации org.apache.catalina.Authenticator.
Они включают:
Basic;
Digest;
Client-cert.
Базовая аутентификация (Basic Authentication)#
Базовая аутентификация использует стандартный механизм HTTP Basic Authentication. Данный метод аутентификации реализован путем передачи имени пользователя и пароля в кодировке Base64. Сервер Tomcat декодирует строку Base64 и извлекает персональные данные, затем проверяет их через Realm. Если данные верны, доступ к ресурсу предоставляется. В противном случае возвращается код 401 Unauthorized.
Basic Authenticator поддерживает следующие атрибуты конфигурации:
Атрибут |
Описание |
|---|---|
|
Разрешить запросам |
|
Использовать сессию после аутентификации пользователя. Значение по умолчанию - |
|
Кешировать аутентифицированные |
|
Определить изменения идентификатора сессии, если сессия существует на момент аутентификации пользователя. Значение по умолчанию - |
|
Определить, будет ли HTTP-заголовок |
|
Использовать имя класса реализации Java |
|
Настроить кеширование страниц, защищенных ограничениями безопасности |
|
Управлять кешированием страниц, защищенных ограничениями безопасности. Установка значения |
|
Задать название алгоритма для создания экземпляров |
|
Задать имя класса Java, расширяющего |
|
Задать название провайдера для создания экземпляров |
|
Настроить возвращение данных аутентификации (удаленный пользователь и тип аутентификации) в виде заголовков ответа для перенаправленного и прокси-запроса. Значение по умолчанию - |
|
Удалить начальные и/или конечные пробелы из проанализированных учетных данных. Значение по умолчанию — |
|
Использовать java-класс реализации |
Дайджест-аутентификация (Digest Authentication)#
Дайджест-аутентификация автоматически добавляется в любой Context, настроенный для использования. Данный метод реализован путем передачи пароля с использованием хешированных данных. Настройка происходит через конфигурационные файлы. Сервер Tomcat вычисляет ожидаемый хеш на основе своих данных (имя пользователя, пароль). Если хеш, предоставленный клиентом, совпадает с вычисленным сервером, доступ к ресурсу предоставляется. В противном случае возвращается код 401 Unauthorized.
Digest Authenticator поддерживает следующие атрибуты конфигурации:
Атрибут |
Описание |
|---|---|
|
Разрешить запросам |
|
Использовать сессию после аутентификации пользователя. Значение по умолчанию - |
|
Кешировать аутентифицированные |
|
Определить изменения идентификатора сессии, существующей на момент аутентификации пользователей. Значение по умолчанию — |
|
Использовать имя класса реализации Java |
|
Управлять кешированием страниц, защищенных ограничениями безопасности. Значение по умолчанию — |
|
Использовать секретный ключ для аутентификации дайджеста. Если не установлен, генерируется случайное значение |
|
Задать размер кеша для защиты от атак с повторным использованием данных. Значение по умолчанию — |
|
Отслеживать окно значений счетчиков |
|
Задать время в миллисекундах, в течение которого |
|
Использовать строку |
|
Управлять кешированием страниц, защищенных ограничениями безопасности. Значение по умолчанию — |
|
Использовать алгоритм для создания экземпляров |
|
Задать имя класса Java, расширяющего |
|
Задать название провайдера для создания экземпляров |
|
Настроить возвращение данных аутентификации (удаленный пользователь и тип аутентификации) в виде заголовков ответа для перенаправленного и прокси-запроса. Значение по умолчанию - |
|
Проверить URI согласно требованиям RFC2617. Значение по умолчанию — |
|
Использовать java-класс реализации |
Аутентификация по клиентскому сертификату (Client-cert Authentication)#
Данный метод использует SSL/TLS клиентские сертификаты для аутентификации. Пользователь должен предоставить действительный сертификат, выпущенный доверенным центром сертификации (CA). Если сертификат действителен, сервер извлекает из него информацию о пользователе. Сервер Tomcat использует Realm для сопоставления информации из сертификата с учетной записью пользователя. Если пользователь найден и аутентификация успешна, доступ к ресурсу предоставляется. В противном случае возвращается код 403 Forbidden.
Client-cert Authenticator поддерживает следующие атрибуты конфигурации:
Атрибут |
Описание |
|---|---|
|
Использовать имя класса реализации Java |
|
Установить имя пользователя для заголовка |
|
Указать имя пользователя для заголовка |
|
Установить имя пользователя для заголовка |
|
Указать имя пользователя для заголовка |
|
Установить имя пользователя для заголовка |