Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SVN-Authentifizierung mit MySQL

Zuerst der Unterschied.

mod_authn_dbd stellt Authentifizierungs-Frontends wie mod_auth_digest und mod_auth_basic bereit, um Benutzer zu authentifizieren, indem Benutzer in SQL-Tabellen nachgeschlagen werden.

mod_auth_mysql ist ein Apache-Modul, das die Authentifizierung anhand von Benutzer- und Gruppendaten ermöglicht, die in MySQL-Datenbanken gespeichert sind. Das Projekt scheint seit 2005 nicht aktualisiert worden zu sein, also würde ich mich für mod_authn_dbd entscheiden .

Um dies richtig einzurichten, müssen Sie zuerst mod_authn_dbd und mod_dbd in Ihrer Apache-Konfiguration richtig konfigurieren, mod_dbd kümmert sich um Ihre Datenbankverbindung. Sobald Sie dies getan haben (stellen Sie sicher, dass Ihr Apache mit diesen aktiven Modulen läuft), können Sie mit der Konfiguration fortfahren.

Fügen Sie Ihrer Apache-Konfiguration so etwas hinzu, um die Datenbankverbindung zu konfigurieren:

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

Fügen Sie nun Ihre gewünschte Authentifizierungskonfiguration in die Apache-Konfiguration ein:

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

Ich habe die SELECT-Anweisung für eine bessere Lesbarkeit vereinfacht, Sie müssen dies erweitern, um Ihre Konfiguration zu verfeinern.

BEARBEITEN:

Nach dem Tippen habe ich ein sehr gutes Beispiel im Web gefunden, vielleicht lesen Sie es hier , zu. Es geht viel tiefer als meine vereinfachte Antwort.