ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# Apache模块 mod_authn_dbd | [说明](#calibre_link-11) | 使用SQL数据库为认证提供支持 | | --- | --- | | [状态](#calibre_link-12) | 扩展(E) | | [模块名](#calibre_link-13) | authn_dbd_module | | [源文件](#calibre_link-14) | mod_authn_dbd.c | | [兼容性](#calibre_link-58) | 仅在 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 指令 | [说明](#calibre_link-18) | SQL query to look up a password for a user | | --- | --- | | [语法](#calibre_link-19) | `AuthDBDUserPWQuery query` | | [作用域](#calibre_link-20) | directory | | [覆盖项](#calibre_link-66) | AuthConfig | | [状态](#calibre_link-21) | 扩展(E) | | [模块](#calibre_link-22) | 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 指令 | [说明](#calibre_link-18) | SQL query to look up a password hash for a user and realm. | | --- | --- | | [语法](#calibre_link-19) | `AuthDBDUserRealmQuery query` | | [作用域](#calibre_link-20) | directory | | [覆盖项](#calibre_link-66) | AuthConfig | | [状态](#calibre_link-21) | 扩展(E) | | [模块](#calibre_link-22) | 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" ```