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
Контекст: directory, .htaccess
Переопределение: AuthConfig
Статус: Базовый
Модуль: mod_authn_core

Эта директива задает имя области авторизации для каталога. Это имя передается клиенту, чтобы пользователь знал, какое имя пользователя и пароль отправить. AuthName принимает один аргумент; если имя области содержит пробелы, его необходимо заключить в кавычки. Для ее работы должны быть заданы директивы AuthType и Require, а также такие директивы, как AuthUserFile и AuthGroupFile.

Например:

AuthName "Top Secret"

Строка, заданная для AuthName, отображается в диалоговом окне ввода пароля в большинстве браузеров.

Начиная с версии 2.4.55, внутри директивы можно использовать синтаксис выражений, чтобы динамически формировать имя.

Например:

AuthName "%{HTTP_HOST}"

См. также

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

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

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

См. также

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

© 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