mod_authz_core#

Описание#

mod_authz_core предназначен для управления авторизацией пользователей и контроля доступа к ресурсам на сервере. Работает в связке с другими модулями аутентификации и авторизации, такими как mod_authn_core, mod_authz_user, mod_authz_groupfile и другими. Это позволяет создавать сложные схемы управления доступом. Модуль предоставляет возможность настраивать доступ на различных уровнях, включая глобальный, уровень виртуального хоста и директории.

Пример конфигурации#

Пример конфигурации, настроенной с помощью модуля mod_authz_core, для управления доступом к каталогу /var/www/html/protected:

<Directory "/var/www/html/protected">
    # Установка типа аутентификации — базовая
    AuthType Basic
    # Имя области аутентификации, которое будет отображаться в диалоговом окне входа
    AuthName "Restricted Area"
    # Путь к файлу с учетными данными
    AuthUserFile <path_to_passwd_file>
    # Требование авторизации пользователей для доступа к каталогу
    Require valid-user
</Directory>

Директивы#

Список директив модуля представлен в таблице ниже.

Директивы mod_authz_core#

Синтаксис

Значение по умолчанию

Контекст

Описание

AuthMerging Off | And | Or

AuthMerging Off

directory, .htaccess

Управляет тем, как логика авторизации каждого раздела конфигурации комбинируется с логикой предыдущих разделов конфигурации. Когда авторизация включена, она обычно наследуется каждым последующим разделом конфигурации, если не указаны другие директивы авторизации. Это действие по умолчанию соответствует явной установке AuthMerging Off

<AuthzProviderAlias <baseProvider> <Alias> <Require-Parameters>> ... </AuthzProviderAlias>

Нет

server config

Включает группу директив авторизации, которые представляют собой расширение базового провайдера авторизации и могут быть использованы по указанному псевдониму. Директивы внутри <AuthzProviderAlias> могут ссылаться по имени псевдонима с использованием директивы Require

AuthzSendForbiddenOnFailure On|Off

AuthzSendForbiddenOnFailure Off

directory, .htaccess

Позволяет отправлять код 403 FORBIDDEN вместо 401 UNAUTHORIZED, если аутентификация проходит успешно, но авторизация не проходит. По умолчанию, если аутентификация успешна, но авторизация не проходит, веб-сервер отвечает кодом HTTP 401 UNAUTHORIZED. Это обычно вызывает повторное отображение диалога пароля в браузерах, что не всегда желательно

Require [not] <entity-name> [<entity-name> ...]

Нет

directory, .htaccess

Проверяет, имеет ли аутентифицированный пользователь право доступа согласно определенному провайдеру авторизации и указанным ограничениям. Модуль mod_authz_core предоставляет следующие общие провайдеры авторизации:
- Require all granted|denied - доступ разрешен/запрещен всем;
- Require env <env-var> [<env-var>] ... - доступ разрешен только в случае, если передана одна из заданных переменных окружения;
- Require method <http-method> [<http-method>] ... - доступ разрешен только для заданных HTTP-методов;
- Require expr <expression> - доступ разрешен, если значение выражения равно true;
- иные провайдеры, предоставляемые mod_authz_user, mod_authz_host, и mod_authz_groupfile

<RequireAll> ... </RequireAll>

Нет

directory, .htaccess

Группирует директивы авторизации, при этом ни одна из них не должна завершиться неудачей, и хотя бы одна должна завершиться успешно, чтобы директива <RequireAll> была успешной

<RequireAny> ... </RequireAny>

Нет

directory, .htaccess

Группирует директивы авторизации, при этом хотя бы одна из них должна завершиться успешно, чтобы директива <RequireAny> была успешной

<RequireNone> ... </RequireNone>

Нет

directory, .htaccess

Группирует директивы авторизации, при этом ни одна из них не должна завершиться успешно, чтобы директива <RequireNone> не завершилась с ошибкой