Spec-Zone.ru › Apache HTTP Server

Модуль 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, будет отображаться в диалоговом окне пароля, предоставляемом большинством браузеров.

См. также

  • Аутентификация, авторизация и контроль доступа
  • mod_authz_core

Директива <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>
При отключении аутентификации обратите внимание, что клиенты, которые уже прошли аутентификацию в другой части дерева документов сервера, обычно продолжают отправлять HTTP-заголовки или куки аутентификации с каждым запросом, независимо от того, требует ли сервер аутентификации для каждого ресурса.

См. также

  • Аутентификация, авторизация и контроль доступа

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API