Mysql
 sql >> Base de données >  >> RDS >> Mysql

Authentification SVN avec MySQL

Tout d'abord la différence.

mod_authn_dbd fournit des interfaces d'authentification telles que mod_auth_digest et mod_auth_basic pour authentifier les utilisateurs en recherchant des utilisateurs dans des tables SQL.

mod_auth_mysql est un module Apache qui permet l'authentification à l'aide de données d'utilisateurs et de groupes stockées dans des bases de données MySQL. Le projet ne semble pas avoir été mis à jour depuis 2005, donc je choisirais mod_authn_dbd .

Pour configurer cela correctement, vous devez d'abord configurer correctement mod_authn_dbd et mod_dbd dans votre configuration apache, mod_dbd s'occupe de votre connexion à la base de données. Une fois que vous avez fait cela (assurez-vous que votre Apache est en cours d'exécution avec ces modules actifs), vous pouvez continuer à les configurer.

Ajoutez quelque chose comme ceci à votre configuration apache pour configurer la connexion à la base de données :

<IfModule mod_dbd.c>
  DBDriver mysql
  DBDParams "host=(your_db_server, p.e. 127.0.0.1) dbname=your_db_name user=your_db_user pass=your_db_pass"
  DBDMin 1
  DBDKeep 8
  DBDMax 20
  DBDExptime 200
</IfModule> 

Ajoutez maintenant la configuration d'authentification souhaitée dans la configuration apache :

<Directory "/your/svn/repository/path/">
  Options FollowSymLinks Indexes MultiViews
  AuthType Basic
  AuthName "Allowed users Only"
  AuthBasicProvider dbd
  AuthDBDUserPWQuery "SELECT pwd FROM tbl_users, tbl_user_group WHERE tbl_users.user_id=%s AND tbl_user.user_id=tbl_user_group.user_id"
  Require valid-user
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>

J'ai simplifié l'instruction SELECT pour une meilleure lisibilité, vous devez l'étendre pour affiner votre configuration.

MODIF :

Après avoir tapé, j'ai trouvé un très bon exemple sur le Web, lisez-le peut-être ici , aussi. Cela va beaucoup plus loin que ma réponse simplifiée.