Apache HTTP Server Version 2.1

Apache > HTTP Server > Documentation > Version 2.1 > Modules

# Apache Module mod_authn_dbd

Available Languages: en

Description: | User authentication using an SQL database
Status: | Extension
Module Identifier: | authn_dbd_module
Source File: | mod_authn_dbd.c
Compatibility: | Available in Apache 2.1 and later

### Summary

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.

### Directives

### Topics

- Configuration Example

### See also

- `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 Directive

Description: | SQL query to look up a password for a user
Syntax: | `AuthDBDUserPWQuery query`
Context: | directory, .htaccess
Override: | AuthConfig
Status: | Extension
Module: | mod_authn_dbd

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 Directive

Description: | SQL query to look up a password hash for a user and realm.
Syntax: | `AuthDBDUserRealmQuery query`
Context: | directory, .htaccess
Override: | AuthConfig
Status: | Extension
Module: | mod_authn_dbd

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

Available Languages: en