Модуль Apache mod_authn_core
| Описание: | Базовая аутентификация |
|---|---|
| Статус: | Базовый |
| Идентификатор модуля: | authn_core_module |
| Исходный файл: | mod_authn_core.c |
| Совместимость: | Доступен в Apache 2.3 и более поздних версиях |
Краткое описание
Этот модуль предоставляет базовые возможности аутентификации, позволяющие разрешать или запрещать доступ к разделам веб-сайта. mod_authn_core предоставляет директивы, общие для всех поставщиков аутентификации.
Создание псевдонимов поставщиков аутентификации
Расширенные поставщики аутентификации можно создать в файле конфигурации и назначить им псевдоним. Затем на псевдонимы поставщиков можно ссылаться с помощью директив AuthBasicProvider или AuthDigestProvider так же, как и на базового поставщика аутентификации. Помимо возможности создавать псевдонимы расширенных поставщиков, это также позволяет ссылаться на одного и того же расширенного поставщика аутентификации из нескольких разделов.
Примеры
В этом примере выполняется поиск паролей в двух разных текстовых файлах.
Проверка нескольких текстовых файлов с паролями
# Check here first
<AuthnProviderAlias file file1>
AuthUserFile "/www/conf/passwords1"
</AuthnProviderAlias>
# Then check here
<AuthnProviderAlias file file2>
AuthUserFile "/www/conf/passwords2"
</AuthnProviderAlias>
<Directory "/var/web/pages/secure">
AuthBasicProvider file1 file2
AuthType Basic
AuthName "Protected Area"
Require valid-user
</Directory> В приведенном ниже примере создаются два разных псевдонима поставщика аутентификации LDAP на основе поставщика LDAP. Это позволяет обслуживать один аутентифицированный раздел несколькими хостами LDAP:
Проверка нескольких серверов LDAP
<AuthnProviderAlias ldap ldap-alias1>
AuthLDAPBindDN cn=youruser,o=ctx
AuthLDAPBindPassword yourpassword
AuthLDAPURL ldap://ldap.host/o=ctx
</AuthnProviderAlias>
<AuthnProviderAlias ldap ldap-other-alias>
AuthLDAPBindDN cn=yourotheruser,o=dev
AuthLDAPBindPassword yourotherpassword
AuthLDAPURL ldap://other.ldap.host/o=dev?cn
</AuthnProviderAlias>
Alias "/secure" "/webpages/secure"
<Directory "/webpages/secure">
AuthBasicProvider ldap-other-alias ldap-alias1
AuthType Basic
AuthName "LDAP Protected Place"
Require valid-user
# Note that Require ldap-* would not work here, since the
# AuthnProviderAlias does not provide the config to authorization providers
# that are implemented in the same module as the authentication provider.
</Directory> Директива AuthName
| Описание: | Область авторизации для HTTP-аутентификации |
|---|---|
| Синтаксис: | AuthName auth-domain |
| Контекст: | directory, .htaccess |
| Переопределение: | AuthConfig |
| Статус: | Базовый |
| Модуль: | mod_authn_core |
Эта директива задает имя области авторизации для каталога. Это имя передается клиенту, чтобы пользователь знал, какое имя пользователя и пароль отправить. AuthName принимает один аргумент; если имя области содержит пробелы, его необходимо заключить в кавычки. Для ее работы должны быть заданы директивы AuthType и Require, а также такие директивы, как AuthUserFile и AuthGroupFile.
Например:
AuthName "Top Secret"
Строка, заданная для AuthName, отображается в диалоговом окне ввода пароля в большинстве браузеров.
Начиная с версии 2.4.55, внутри директивы можно использовать синтаксис выражений, чтобы динамически формировать имя.
Например:
AuthName "%{HTTP_HOST}" См. также
Директива <AuthnProviderAlias>
| Описание: | Ограничивает группу директив, представляющих расширение базового поставщика аутентификации и вызываемых по указанному псевдониму |
|---|---|
| Синтаксис: | <AuthnProviderAlias baseProvider Alias> ... </AuthnProviderAlias> |
| Контекст: | конфигурация сервера |
| Статус: | Базовый |
| Модуль: | mod_authn_core |
<AuthnProviderAlias> и </AuthnProviderAlias> используются для ограничения группы директив аутентификации, на которые можно ссылаться по имени псевдонима с помощью одной из директив AuthBasicProvider или AuthDigestProvider.
Директива AuthType
| Описание: | Тип аутентификации пользователя |
|---|---|
| Синтаксис: | AuthType None|Basic|Digest|Form |
| Контекст: | directory, .htaccess |
| Переопределение: | AuthConfig |
| Статус: | Базовый |
| Модуль: | mod_authn_core |
Эта директива задает тип аутентификации пользователя для каталога. Доступны следующие типы аутентификации: None, Basic (реализуется модулем mod_auth_basic), Digest (реализуется модулем mod_auth_digest) и Form (реализуется модулем mod_auth_form).
Для реализации аутентификации необходимо также использовать директивы AuthName и Require. Кроме того, на сервере должен быть установлен модуль поставщика аутентификации, например mod_authn_file, и модуль авторизации, например mod_authz_user.
Тип аутентификации None отключает аутентификацию. Если аутентификация включена, она обычно наследуется каждым последующим разделом конфигурации, если не указан другой тип аутентификации. Если для подраздела внутри защищенного аутентификацией раздела аутентификация не нужна, можно использовать тип аутентификации None; в следующем примере клиенты могут обращаться к каталогу /www/docs/public без аутентификации:
<Directory "/www/docs">
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile "/usr/local/apache/passwd/passwords"
Require valid-user
</Directory>
<Directory "/www/docs/public">
AuthType None
Require all granted
</Directory> Начиная с версии 2.4.55, внутри директивы можно использовать синтаксис выражений, чтобы динамически задавать тип.
См. также
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_authn_core.html