From 6beeb1b708550be0d4a53b272283e17e5e35fe17 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 17:01:30 +0200 Subject: Adding upstream version 2.4.57. Signed-off-by: Daniel Baumann --- docs/manual/mod/mod_authn_dbd.html.en | 231 ++++++++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 docs/manual/mod/mod_authn_dbd.html.en (limited to 'docs/manual/mod/mod_authn_dbd.html.en') diff --git a/docs/manual/mod/mod_authn_dbd.html.en b/docs/manual/mod/mod_authn_dbd.html.en new file mode 100644 index 0000000..fe3a21a --- /dev/null +++ b/docs/manual/mod/mod_authn_dbd.html.en @@ -0,0 +1,231 @@ + + + + + +mod_authn_dbd - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authn_dbd

+
+

Available Languages:  en  | + fr 

+
+ + + + +
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.

+
+ +
top
+
+

Performance and Caching

+ +

Some users of DBD authentication in HTTPD 2.2/2.4 have reported that it +imposes a problematic load on the database. This is most likely where +an HTML page contains hundreds of objects (e.g. images, scripts, etc) +each of which requires authentication. Users affected (or concerned) +by this kind of problem should use mod_authn_socache +to cache credentials and take most of the load off the database.

+
top
+
+

Configuration Example

+ +

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

+
# mod_dbd configuration
+# UPDATED to include authentication caching
+DBDriver pgsql
+DBDParams "dbname=apacheauth user=apache password=xxxxxx"
+
+DBDMin  4
+DBDKeep 8
+DBDMax  20
+DBDExptime 300
+
+<Directory "/usr/www/myhost/private">
+  # mod_authn_core and mod_auth_basic configuration
+  # for mod_authn_dbd
+  AuthType Basic
+  AuthName "My Server"
+
+  # To cache credentials, put socache ahead of dbd here
+  AuthBasicProvider socache dbd
+
+  # Also required for caching: tell the cache to cache dbd lookups!
+  AuthnCacheProvideFor dbd
+  AuthnCacheContext my-server
+
+  # mod_authz_core configuration
+  Require valid-user
+
+  # mod_authn_dbd SQL query to authenticate a user
+  AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
+</Directory>
+ +
top
+
+

Exposing Login Information

+ +

+Whenever a query is made to the database server, all +column values in the first row returned by the query are placed in the +environment, using environment variables with the prefix "AUTHENTICATE_". +

+

If a database query for example returned the username, full name +and telephone number of a user, a CGI program will have access to +this information without the need to make a second independent database +query to gather this additional information.

+

This has the potential to dramatically simplify the coding and +configuration required in some web applications. +

+
+
top
+

AuthDBDUserPWQuery Directive

+ + + + + + +
Description:SQL query to look up a password for a user
Syntax:AuthDBDUserPWQuery query
Context:directory
Status:Extension
Module:mod_authn_dbd
+

The AuthDBDUserPWQuery specifies an + SQL query to look up a password for a specified user. The user's ID + will be passed as a single string parameter when the SQL query is + executed. It may be referenced within the query statement using + a %s format specifier.

+
AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
+ +

The first column value of the first row returned by the query + statement should be a string containing the encrypted password. + Subsequent rows will be ignored. If no rows are returned, the user + will not be authenticated through mod_authn_dbd.

+

Any additional column values in the first row returned by + the query statement will be stored as environment variables with + names of the form AUTHENTICATE_COLUMN. +

+

The encrypted password format depends on which authentication + frontend (e.g. mod_auth_basic or + mod_auth_digest) is being used. See Password Formats for + more information.

+ +
+
top
+

AuthDBDUserRealmQuery Directive

+ + + + + + +
Description:SQL query to look up a password hash for a user and realm. +
Syntax:AuthDBDUserRealmQuery query
Context:directory
Status:Extension
Module:mod_authn_dbd
+

The AuthDBDUserRealmQuery specifies an + SQL query to look up a password for a specified user and realm in a + digest authentication process. + The user's ID and the realm, in that order, will be passed as string + parameters when the SQL query is executed. They may be referenced + within the query statement using %s format specifiers.

+
AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"
+ +

The first column value of the first row returned by the query + statement should be a string containing the encrypted password. + Subsequent rows will be ignored. If no rows are returned, the user + will not be authenticated through mod_authn_dbd.

+

Any additional column values in the first row returned by + the query statement will be stored as environment variables with + names of the form AUTHENTICATE_COLUMN. +

+

The encrypted password format depends on which authentication + frontend (e.g. mod_auth_basic or + mod_auth_digest) is being used. See Password Formats for + more information.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3