mod_authz_dbd#
Описание#
mod_authz_dbd предназначен для управления авторизацией пользователей с использованием баз данных. Он позволяет проверять, имеет ли пользователь доступ к определенным ресурсам, основываясь на данных, хранящихся в реляционных базах данных, через интерфейс DBD (Database Driver).
Директивы Require используются на этапе авторизации, чтобы гарантировать, что пользователю разрешен доступ к ресурсу. mod_authz_dbd расширяет типы авторизации с помощью:
Require dbd-group- определяет группу, к которой необходимо относиться пользователю для получения доступа;Require dbd-login- определяет, какой запрос должен выполняться, если пользователь вошел в систему;Require dbd-logout- определяет выполняемый запрос, указывающий на то, что пользователь вышел из системы.
Примечание
Для работы с базами данных необходим модуль mod_dbd.
Пример конфигурации#
Пример конфигурации, настроенной с помощью модуля mod_authz_dbd:
# Указывание драйвера базы данных
DBDriver mysql
# Задание параметров подключения к базе данных
DBDParams "dbname=mydb user=myuser password=mypassword"
# Минимальное количество соединений
DBDMin 4
# Максимальное количество соединений
DBDMax 20
# Определение SQL-запроса для авторизации пользователя
AuthzDBDUserQuery "SELECT role FROM users WHERE username = %s"
<Location "/secure">
AuthType Basic
AuthName "Restricted Area"
# Указание, что аутентификация будет через DBD
AuthBasicProvider dbd
# Требование, чтобы пользователь был аутентифицирован
Require valid-user
# Проверка, что у пользователя есть роль admin
Require dbd role admin
</Location>
Директивы#
Список директив модуля представлен в таблице ниже.
Синтаксис |
Значение по умолчанию |
Контекст |
Описание |
|---|---|---|---|
|
|
|
Определяет, следует ли перенаправлять клиента на реферальную страницу после успешного входа или выхода, если заголовок |
|
Нет |
|
Указывает SQL-запрос для выполнения. Цель запроса зависит от действующей директивы |
|
Нет |
|
Указывает необязательный SQL-запрос, используемый после успешного входа/выхода для перенаправления пользователя на URL, который может быть специфичен для пользователя. Идентификатор пользователя передается как параметр строки при выполнении SQL-запроса и может быть использован в запросе с помощью спецификатора формата |