github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/manual/mod/mod_authn_dbd.html.en (about)

     1  <?xml version="1.0" encoding="ISO-8859-1"?>
     2  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     3  <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
     4  <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
     5  <!--
     6          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     7                This file is generated from xml source: DO NOT EDIT
     8          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     9        -->
    10  <title>mod_authn_dbd - Apache HTTP Server Version 2.2</title>
    11  <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
    12  <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
    13  <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
    14  <script src="../style/scripts/prettify.min.js" type="text/javascript">
    15  </script>
    16  
    17  <link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/mod/mod_authn_dbd.html" rel="canonical" /></head>
    18  <body>
    19  <div id="page-header">
    20  <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
    21  <p class="apache">Apache HTTP Server Version 2.2</p>
    22  <img alt="" src="../images/feather.gif" /></div>
    23  <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
    24  <div id="path">
    25  <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
    26  <div id="page-content">
    27  <div class="retired"><h4>Please note</h4>
    28              <p> This document refers to a legacy release (<strong>2.2</strong>) of Apache httpd. The active release (<strong>2.4</strong>) is documented <a href="http://httpd.apache.org/docs/current">here</a>. If you have not already upgraded, please follow <a href="http://httpd.apache.org/docs/current/upgrading.html">this link</a> for more information.</p>
    29          <p>You may follow <a href="http://httpd.apache.org/docs/current/mod/mod_authn_dbd.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Apache Module mod_authn_dbd</h1>
    30  <div class="toplang">
    31  <p><span>Available Languages: </span><a href="../en/mod/mod_authn_dbd.html" title="English">&nbsp;en&nbsp;</a></p>
    32  </div>
    33  <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>User authentication using an SQL database</td></tr>
    34  <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
    35  <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authn_dbd_module</td></tr>
    36  <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authn_dbd.c</td></tr>
    37  <tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr></table>
    38  <h3>Summary</h3>
    39  
    40      <p>This module provides authentication front-ends such as
    41      <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> and <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>
    42      to authenticate users by looking up users in SQL tables.
    43      Similar functionality is provided by, for example,
    44      <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>.</p>
    45      <p>This module relies on <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> to specify
    46      the backend database driver and connection parameters, and
    47      manage the database connections.</p>
    48  
    49      <p>When using <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or
    50      <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, this module is invoked via the
    51      <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> or
    52      <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>
    53      with the <code>dbd</code> value.</p>
    54  </div>
    55  <div id="quickview"><h3>Topics</h3>
    56  <ul id="topics">
    57  <li><img alt="" src="../images/down.gif" /> <a href="#example">Configuration Example</a></li>
    58  <li><img alt="" src="../images/down.gif" /> <a href="#exposed">Exposing Login Information</a></li>
    59  </ul><h3 class="directives">Directives</h3>
    60  <ul id="toc">
    61  <li><img alt="" src="../images/down.gif" /> <a href="#authdbduserpwquery">AuthDBDUserPWQuery</a></li>
    62  <li><img alt="" src="../images/down.gif" /> <a href="#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li>
    63  </ul>
    64  <h3>See also</h3>
    65  <ul class="seealso">
    66  <li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li>
    67  <li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li>
    68  <li>
    69    <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
    70  </li>
    71  <li>
    72    <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>
    73  </li>
    74  <li><code class="directive"><a href="../mod/mod_dbd.html#dbdriver">DBDriver</a></code></li>
    75  <li><code class="directive"><a href="../mod/mod_dbd.html#dbdparams">DBDParams</a></code></li>
    76  </ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
    77  <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    78  <div class="section">
    79  <h2><a name="example" id="example">Configuration Example</a></h2>
    80  
    81  <p>This simple example shows use of this module in the context of
    82  the Authentication and DBD frameworks. Please note that you need
    83  to load an authorization module, such as <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>,
    84  to get it working.</p>
    85  <div class="example"><pre># mod_dbd configuration
    86  DBDriver pgsql
    87  DBDParams "dbname=apacheauth user=apache password=xxxxxx"
    88  
    89  DBDMin  4
    90  DBDKeep 8
    91  DBDMax  20
    92  DBDExptime 300
    93  
    94  &lt;Directory /usr/www/myhost/private&gt;
    95    # core authentication and mod_auth_basic configuration
    96    # for mod_authn_dbd
    97    AuthType Basic
    98    AuthName "My Server"
    99    AuthBasicProvider dbd
   100  
   101    # core authorization configuration
   102    Require valid-user
   103  
   104    # mod_authn_dbd SQL query to authenticate a user
   105    AuthDBDUserPWQuery \
   106      "SELECT password FROM authn WHERE user = %s"
   107  &lt;/Directory&gt;</pre></div>
   108  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   109  <div class="section">
   110  <h2><a name="exposed" id="exposed">Exposing Login Information</a></h2>
   111  
   112  <p>
   113  If httpd was built against <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a> version 1.3.0
   114  or higher, then whenever a query is made to the database server, all
   115  column values in the first row returned by the query are placed in the
   116  environment, using environment variables with the prefix "AUTHENTICATE_".
   117  </p>
   118  <p>If a database query for example returned the username, full name
   119  and telephone number of a user, a CGI program will have access to
   120  this information without the need to make a second independent database
   121  query to gather this additional information.</p>
   122  <p>This has the potential to dramatically simplify the coding and
   123  configuration required in some web applications.
   124  </p>
   125  </div>
   126  <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   127  <div class="directive-section"><h2><a name="AuthDBDUserPWQuery" id="AuthDBDUserPWQuery">AuthDBDUserPWQuery</a> <a name="authdbduserpwquery" id="authdbduserpwquery">Directive</a></h2>
   128  <table class="directive">
   129  <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>SQL query to look up a password for a user</td></tr>
   130  <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDBDUserPWQuery <var>query</var></code></td></tr>
   131  <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr>
   132  <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
   133  <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr>
   134  </table>
   135      <p>The <code class="directive">AuthDBDUserPWQuery</code> specifies an
   136      SQL query to look up a password for a specified user.  The user's ID
   137      will be passed as a single string parameter when the SQL query is
   138      executed.  It may be referenced within the query statement using
   139      a <code>%s</code> format specifier.</p>
   140      <div class="example"><h3>Example</h3><pre>AuthDBDUserPWQuery \
   141    "SELECT password FROM authn WHERE user = %s"</pre></div>
   142      <p>The first column value of the first row returned by the query
   143      statement should be a string containing the encrypted password.
   144      Subsequent rows will be ignored.  If no rows are returned, the user
   145      will not be authenticated through <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
   146      <p>If httpd was built against <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a> version 1.3.0
   147      or higher, any additional column values in the first row returned by
   148      the query statement will be stored as environment variables with
   149      names of the form <code>AUTHENTICATE_<var>COLUMN</var></code>.
   150      </p>
   151       <p>The encrypted password format depends on which authentication
   152      frontend (e.g. <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or
   153      <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>) is being used.  See <a href="../misc/password_encryptions.html">Password Formats</a> for
   154       more information.</p>
   155  
   156  </div>
   157  <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   158  <div class="directive-section"><h2><a name="AuthDBDUserRealmQuery" id="AuthDBDUserRealmQuery">AuthDBDUserRealmQuery</a> <a name="authdbduserrealmquery" id="authdbduserrealmquery">Directive</a></h2>
   159  <table class="directive">
   160  <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>SQL query to look up a password hash for a user and realm.
   161  </td></tr>
   162  <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDBDUserRealmQuery <var>query</var></code></td></tr>
   163  <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr>
   164  <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
   165  <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr>
   166  </table>
   167      <p>The <code class="directive">AuthDBDUserRealmQuery</code> specifies an
   168      SQL query to look up a password for a specified user and realm in a 
   169      digest authentication process.
   170      The user's ID and the realm, in that order, will be passed as string
   171      parameters when the SQL query is executed.  They may be referenced
   172      within the query statement using <code>%s</code> format specifiers.</p>
   173      <div class="example"><h3>Example</h3><pre>AuthDBDUserRealmQuery \
   174    "SELECT password FROM authn WHERE user = %s AND realm = %s"</pre></div>
   175      <p>The first column value of the first row returned by the query
   176      statement should be a string containing the encrypted password.
   177      Subsequent rows will be ignored.  If no rows are returned, the user
   178      will not be authenticated through <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
   179      <p>If httpd was built against <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a> version 1.3.0
   180      or higher, any additional column values in the first row returned by
   181      the query statement will be stored as environment variables with
   182      names of the form <code>AUTHENTICATE_<var>COLUMN</var></code>.
   183      </p>
   184       <p>The encrypted password format depends on which authentication
   185      frontend (e.g. <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or
   186      <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>) is being used.  See <a href="../misc/password_encryptions.html">Password Formats</a> for
   187       more information.</p>
   188  
   189  </div>
   190  </div>
   191  <div class="bottomlang">
   192  <p><span>Available Languages: </span><a href="../en/mod/mod_authn_dbd.html" title="English">&nbsp;en&nbsp;</a></p>
   193  </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again 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 Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
   194  <script type="text/javascript"><!--//--><![CDATA[//><!--
   195  var comments_shortname = 'httpd';
   196  var comments_identifier = 'http://httpd.apache.org/docs/2.2/mod/mod_authn_dbd.html';
   197  (function(w, d) {
   198      if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
   199          d.write('<div id="comments_thread"><\/div>');
   200          var s = d.createElement('script');
   201          s.type = 'text/javascript';
   202          s.async = true;
   203          s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
   204          (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
   205      }
   206      else { 
   207          d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
   208      }
   209  })(window, document);
   210  //--><!]]></script></div><div id="footer">
   211  <p class="apache">Copyright 2017 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
   212  <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
   213  if (typeof(prettyPrint) !== 'undefined') {
   214      prettyPrint();
   215  }
   216  //--><!]]></script>
   217  </body></html>