Модуль 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 |
| Контекст: | каталог, .htaccess |
| Переопределение: | AuthConfig |
| Статус: | Базовый |
| Модуль: | mod_authn_core |
Эта директива задает имя области авторизации для каталога. Эта область предоставляется клиенту, чтобы пользователь знал, какие имя пользователя и пароль отправить. AuthName принимает один аргумент; если имя области содержит пробелы, оно должно быть заключено в кавычки. Оно должно сопровождаться директивами AuthType и Require, а также такими директивами, как AuthUserFile и AuthGroupFile для работы.
Например:
AuthName "Top Secret"
Строка, предоставленная для AuthName, будет отображаться в диалоговом окне пароля, предоставляемом большинством браузеров.
См. также
Директива <AuthnProviderAlias>
| Описание: | Заключает группу директив, представляющих расширение базового поставщика аутентификации и используемых заданным псевдонимом |
|---|---|
| Синтаксис: | <AuthnProviderAlias baseProvider Alias> ... </AuthnProviderAlias> |
| Контекст: | конфигурация сервера |
| Статус: | Базовый |
| Модуль: | mod_authn_core |
<AuthnProviderAlias> и </AuthnProviderAlias> используются для заключения группы директив аутентификации, на которые можно ссылаться по имени псевдонима, используя одну из директив AuthBasicProvider или AuthDigestProvider.
Директива AuthType
| Описание: | Тип аутентификации пользователя |
|---|---|
| Синтаксис: | AuthType None|Basic|Digest|Form |
| Контекст: | каталог, .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> См. также
© 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