<-
积木手册 > 版本2.2 > 模块

Apache模块 mod_authn_dbd

说明使用SQL数据库为认证提供支持
状态扩展(E)
模块名authn_dbd_module
源文件mod_authn_dbd.c
兼容性仅在 Apache 2.1 及以后的版本中可用

概述

This module provides authentication front-ends such as mod_auth_digestmod_auth_basic to authenticate users by looking up users in SQL tables. Similar functionality is provided by, for example, mod_authn_file.

This module relies on mod_dbd to specify the backend database driver and connection parameters, and manage the database connections.

When using mod_auth_basicmod_auth_digest, this module is invoked via the AuthBasicProviderAuthDigestProvider with the dbd value.

top

Configuration Example

This simple example shows use of this module in the context of the Authentication and DBD frameworks.

#Database Management

#Use the PostgreSQL driver
DBDriver pgsql

#Connection string: database name and login credentials
DBDParams "dbname=htpasswd user=apache pass=xxxxxx"

#Parameters for Connection Pool Management
DBDMin  1
DBDKeep 2
DBDMax  10
DBDExptime 60

#Authentication Section
<Directory /usr/www/myhost/private>

    #mod_auth configuration for authn_dbd
    AuthType Basic
    AuthName "My Server"
    AuthBasicProvider dbd

    #authz configuration
    Require valid-user

    #SQL query to verify a user
    #(note: DBD drivers recognise both stdio-like %s and native syntax)
    AuthDBDUserPWQuery "select password from authn where username = %s"
</Directory>
top

AuthDBDUserPWQuery 指令

说明SQL query to look up a password for a user
语法AuthDBDUserPWQuery query
作用域directory
覆盖项AuthConfig
状态扩展(E)
模块mod_authn_dbd

AuthDBDUserPWQuery specifies an SQL query to look up a password for a specified user. The query must take a single string (typically SQL varchar) argument (username), and return a single value (encrypted password).

AuthDBDUserPWQuery "SELECT password FROM authn WHERE username = %s"

top

AuthDBDUserRealmQuery 指令

说明SQL query to look up a password hash for a user and realm.
语法AuthDBDUserRealmQuery query
作用域directory
覆盖项AuthConfig
状态扩展(E)
模块mod_authn_dbd

AuthDBDUserRealmPWQuery specifies an SQL query to look up a password for a specified user and realm. The query must take two string (typically SQL varchar) arguments (username and realm), and return a single value (encrypted password).

AuthDBDUserRealmPWQuery "SELECT password FROM authn WHERE username = %s AND realm = %s"