<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_authz_dbd - Serveur HTTP Apache Version 2.5</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<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" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur HTTP Apache Version 2.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_authz_dbd</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_dbd.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_authz_dbd.html" title="Français">&nbsp;fr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation par groupe ou par identifiant via SQL</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_dbd_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_dbd.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les version 2.4 et supérieures
d'Apache</td></tr></table>
<h3>Sommaire</h3>

    <p>Ce module fournit des fonctionnalités d'autorisation permettant
    d'accorder ou de refuser aux utilisateurs authentifiés l'accès à
    certaines zones du site web en fonction de leur appartenance à tel
    ou tel groupe. Les modules <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> et
    <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> fournissent une fonctionnalité
    similaire, mais ici le module interroge une base de données SQL pour
    déterminer si un utilisateur appartient ou non à tel ou tel groupe.</p>
    <p>Ce module peut aussi fournir des fonctionnalités de connexion
    utilisateur s'appuyant sur une base de données. Ceci prend le plus souvent
    sens lorsque le module est utilisé conjointement avec
    <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
    <p>Ce module s'appuie sur <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour spécifier le
    pilote de la base de données sous-jacente et les paramètres de
    connexion, et gérer les connexions à la base de données.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives Require</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#login">Connexion s'appuyant sur une base de données</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#client">Intégration des ouvertures de sessions côté client</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple de configuration</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#security">Prévention contre les injections SQL</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdquery">AuthzDBDQuery</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_authz_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_authz_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
<li>
  <code class="directive"><a href="../mod/mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></code>
</li>
<li><code class="directive"><a href="../mod/mod_dbd.html#dbdriver">DBDriver</a></code></li>
<li><code class="directive"><a href="../mod/mod_dbd.html#dbdparams">DBDParams</a></code></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="requiredirectives" id="requiredirectives">Les directives Require</a> <a title="Lien permanent" href="#requiredirectives" class="permalink">&para;</a></h2>

    <p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache permettent,
    au cours de la phase d'autorisation, de s'assurer qu'un utilisateur
    est bien autorisé à accéder à une ressource. mod_authz_dbd ajoute
    les types d'autorisation <code>dbd-group</code>,
    <code>dbd-login</code> et <code>dbd-logout</code>.</p>

    <p>A partir de la version 2.4.8, les directives require DBD
    supportent les <a href="../expr.html">expressions</a>.</p>

<h3><a name="reqgroup" id="reqgroup">Require dbd-group</a></h3>

    <p>Cette directive permet de spécifier à quel groupe un utilisateur
    doit appartenir pour obtenir l'autorisation d'accès.</p>

    <pre class="prettyprint lang-config">Require dbd-group team
AuthzDBDQuery "SELECT user_group FROM authz WHERE user = %s"</pre>




<h3><a name="reqlogin" id="reqlogin">Require dbd-login</a></h3>

    <p>Cette directive permet de spécifier une requête à exécuter pour
    indiquer que l'utilisateur s'est authentifié.</p>

    <pre class="prettyprint lang-config">Require dbd-login
AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"</pre>




<h3><a name="reqlogout" id="reqlogout">Require dbd-logout</a></h3>

    <p>Cette directive permet de spécifier une requête à exécuter pour
    indiquer que l'utilisateur s'est déconnecté.</p>

    <pre class="prettyprint lang-config">Require dbd-logout
AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s"</pre>




</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="login" id="login">Connexion s'appuyant sur une base de données</a> <a title="Lien permanent" href="#login" class="permalink">&para;</a></h2>

<p>
Outre sa fonction d'autorisation standard consistant à vérifier
l'appartenance à des groupes, ce module permet également de gérer des
sessions utilisateur côté serveur grâce à sa fonctionnalité de gestion de login/logout
via base de données. En particulier, il peut mettre à
jour le statut de session de l'utilisateur dans la base de données
chaque fois que celui-ci visite certaines URLs (sous réserve bien
entendu que l'utilisateur fournisse les informations de connexion
nécessaires).</p>
<p>Pour cela, il faut definir deux directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> spéciales : <code>Require
dbd-login</code> et <code>Require dbd-logout</code>. Pour les détails de
leur utilisation, voir l'exemple de configuration ci-dessous.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="client" id="client">Intégration des ouvertures de sessions côté client</a> <a title="Lien permanent" href="#client" class="permalink">&para;</a></h2>

<p>Pour les administrateurs qui désirent implémenter une gestion de
session côté client fonctionnant de concert avec les fonctionnalités de
connexion/déconnexion côté serveur offertes par ce module, il est possible
de définir ou en d'annuler par exemple un cookie HTTP ou un jeton
de connextion lorsqu'un utilisateur se connecte ou se déconnecte.</p>
<p> Pour supporter une telle intégration, <code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code> exporte
un déclenchement optionnel (hook) qui sera lancé chaque fois
que le statut d'un utilisateur sera mis à jour dans la base de données.
D'autres modules de gestion de session pourront alors utiliser ce
déclencheur pour utiliser des fonctions d'ouverture et de
fermeture de sessions côté client.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="example" id="example">Exemple de configuration</a> <a title="Lien permanent" href="#example" class="permalink">&para;</a></h2>

<pre class="prettyprint lang-config"># configuration de mod_dbd
DBDriver pgsql
DBDParams "dbname=apacheauth user=apache pass=xxxxxx"

DBDMin  4
DBDKeep 8
DBDMax  20
DBDExptime 300

&lt;Directory "/usr/www/mon.site/team-private/"&gt;
  # configuration de mod_authn_core et mod_auth_basic
  # pour mod_authn_dbd
  AuthType Basic
  AuthName Team
  AuthBasicProvider dbd

  # requête SQL de mod_authn_dbd pour authentifier un utilisateur qui se
  # connecte
  AuthDBDUserPWQuery \
    "SELECT password FROM authn WHERE user = %s AND login = 'true'"

  # configuration de mod_authz_core pour mod_authz_dbd
  Require dbd-group team

  # configuration de mod_authz_dbd
  AuthzDBDQuery "SELECT group FROM authz WHERE user = %s"

  # lorsqu'un utilisateur échoue dans sa tentative d'authentification ou
  # d'autorisation, on l'invite à se connecter ; cette page doit
  # contenir un lien vers /team-private/login.html
  ErrorDocument 401 /login-info.html

  &lt;Files "login.html"&gt;
    # il n'est pas nécessaire que l'utilisateur soit déjà connecté !
    AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"

    # le processus de connexion dbd exécute une requête pour enregistrer
    # la connexion de l'utilisateur
    Require dbd-login
    AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"

    # redirige l'utilisateur vers la page d'origine (si elle existe)
    # après une connexion réussie
    AuthzDBDLoginToReferer On
  &lt;/Files&gt;

  &lt;Files "logout.html"&gt;
    # le processus de déconnexion dbd exécute une requête pour
    # enregistrer la déconnexion de l'utilisateur
    Require dbd-logout
    AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s"
  &lt;/Files&gt;
&lt;/Directory&gt;</pre>

</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="security" id="security">Prévention contre les injections SQL</a> <a title="Lien permanent" href="#security" class="permalink">&para;</a></h2>

  <p>Selon le pilote DBD choisi et le serveur d'arrière-plan que vous utilisez,
  vous devrez prendre garde à la sécurité dans le domaine SQL.
  Avec la plupart des pilotes, vous n'avez rien à faire : la
  requête est préparée par la base de données au démarrage, et l'entrée
  utilisateur n'est utilisée qu'en tant que donnée. Mais vous aurez
  peut-être à nettoyer cette entrée. Au moment où ces lignes sont
  écrites, le seul pilote DBD qui peut nécessiter le nettoyage de l'entrée
  est FreeTDS.</p>
  <p>Veuillez vous référez à la documentation de
  <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour plus d'informations à propos de la
  sécurité dans ce domaine.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authzdbdlogintoreferer" id="authzdbdlogintoreferer">Directive</a> <a name="AuthzDBDLoginToReferer" id="AuthzDBDLoginToReferer">AuthzDBDLoginToReferer</a> <a title="Lien permanent" href="#authzdbdlogintoreferer" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le client doit être redirigé vers la page
d'origine en cas de connexion ou de déconnexion réussie si une en-tête
de requête <code>Referer</code> est présente</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBDLoginToReferer On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthzDBDLoginToReferer Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbd</td></tr>
</table>
    <p>Utilisée en conjonction avec <code>Require dbd-login</code> ou
    <code>Require dbd-logout</code>, cette directive permet de rediriger
    le client vers la page d'origine (l'URL contenue dans l'en-tête
    de requête HTTP <code>Referer</code>, s'il est présent). En
    l'absence d'en-tête <code>Referer</code>, la définition
    <code>AuthzDBDLoginToReferer On</code> sera ignorée.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authzdbdquery" id="authzdbdquery">Directive</a> <a name="AuthzDBDQuery" id="AuthzDBDQuery">AuthzDBDQuery</a> <a title="Lien permanent" href="#authzdbdquery" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la requête SQL pour l'opération
requise</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBDQuery <var>requête</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbd</td></tr>
</table>
    <p>La directive <code class="directive">AuthzDBDQuery</code> permet de
    spécifier une requête SQL à exécuter. Le but de cette requête dépend
    de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> en cours de
    traitement.</p>
    <ul>
    <li>Avec la directive <code>Require dbd-group</code>, elle spécifie
    une requête permettant de rechercher les groupes d'appartenance de
    l'utilisateur courant. Ceci correspond à la fonctionnalité standard
    d'autres modules d'autorisation comme
    <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> et
    <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>.
    La première colonne de chaque enregistrement renvoyé par la requête
    doit contenir une chaîne de caractères correspondant à un nom de
    groupe. La requête peut renvoyer zéro, un ou plusieurs
    enregistrements.
    <pre class="prettyprint lang-config">Require dbd-group
AuthzDBDQuery "SELECT group FROM groups WHERE user = %s"</pre>

    </li>
    <li>Avec la directive <code>Require dbd-login</code> ou
    <code>Require dbd-logout</code>, elle ne refusera jamais l'accès,
    mais au contraire exécutera une requête SQL permettant d'enregistrer
    la connexion ou la déconnexion de l'utilisateur. Ce dernier doit
    être déjà authentifié avec <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.
    <pre class="prettyprint lang-config">Require dbd-login
AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"</pre>

    </li>
    </ul>
    <p>Dans tous les cas, l'identifiant utilisateur sera transmis comme
    paramètre sous la forme d'une simple chaîne lorsque la requête SQL
    sera exécutée. Il y sera fait référence dans la requête en utilisant
    le spécificateur de format <code>%s</code>.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authzdbdredirectquery" id="authzdbdredirectquery">Directive</a> <a name="AuthzDBDRedirectQuery" id="AuthzDBDRedirectQuery">AuthzDBDRedirectQuery</a> <a title="Lien permanent" href="#authzdbdredirectquery" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une requête pour rechercher une page vers laquelle
rediriger l'utilisateur après une connexion réussie</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBDRedirectQuery <var>requête</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbd</td></tr>
</table>
    <p>Spécifie une requête SQL optionnelle à utiliser après une
    connexion (ou une déconnexion) réussie pour rediriger l'utilisateur
    vers une URL, qui peut être spécifique à l'utilisateur.
    L'identifiant utilisateur sera transmis comme paramètre sous la
    forme d'une simple chaîne lorsque la requête SQL sera exécutée. Il y
    sera fait référence dans la requête en utilisant le spécificateur de
    format <code>%s</code>.</p>
    <pre class="prettyprint lang-config">AuthzDBDRedirectQuery "SELECT userpage FROM userpages WHERE user = %s"</pre>

    <p>La première colonne du premier enregistrement renvoyé par la
    requête doit contenir une chaîne de caractères correspondant à une
    URL vers laquelle rediriger le client. Les enregistrements suivants
    sont ignorés. Si aucun enregistrement n'est renvoyé, le client ne
    sera pas redirigé.</p>
    <p>Notez que <code class="directive">AuthzDBDLoginToReferer</code> l'emporte
    sur cette directive si les deux sont définies.</p>

</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_dbd.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_authz_dbd.html" title="Français">&nbsp;fr&nbsp;</a></p>
</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">Commentaires</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 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 <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_authz_dbd.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else {
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>