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_digest和mod_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_basic或mod_auth_digest, this module is invoked via the AuthBasicProvider或AuthDigestProvider with the dbd value.
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>
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"
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"