mod_authn_dbd
User authentication using an SQL database
Extension
mod_authn_dbd.c
authn_dbd_module
Available in Apache 2.1 and later

This module provides authentication front-ends such as mod_auth_digest and 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 or mod_auth_digest, this module is invoked via the AuthBasicProvider or AuthDigestProvider with the `dbd` value.

AuthName
AuthType
AuthBasicProvider
AuthDigestProvider
DBDriver
DBDParams

# 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

The 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

The 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"