Christian Seiler: http_auth mit mysql

Beitrag lesen

Hallo,

Nein. Das Modul (mod_auth_mysql) ist für Apache bis 2.0 geschrieben worden. In Apache 2.2 hat sich etliches, was Authentifizierung angeht, komplett geändert, deswegen wurde für Apache 2.2 ein neues Modul (mod_authn_dbd, *nicht* mod_authz_dbm, das ist was anderes!) geschrieben, was allgemein Authentifizierung über Datenbanken erledigen soll (und auch multiple Datenbanken unterstützen soll).

wird mod_authn_dbd im Apache 2.4 durch mod_authz_dbd ersetzt?

Nein. mod_authn_dbd und mod_authz_dbd komplementieren sich in Apache 2.4 (authN: AutheNtication, d.h. feststellen, *wer* am anderen Ende ist vs. authZ: AuthoriZation, d.h. feststellen, ob derjenige (der bereits bekannt ist) Zugriff hat oder nicht), mod_authn_dbd wird es weiterhin geben.

mod_authz_dbm kann man nicht in einer .htaccess Datei Konfigurieren, warum eigentlich?

mod_authn_dbd kann man so halb in einer .htaccess-Datei konfigurieren. mod_authn_dbd beruht nämlich auf mod_dbd, was für Apache ab 2.2 allgemeines Datenbankmanagement macht - d.h. Datebankverbindungen aus Performancegründen ständig offen hält. Die Datenbankverbindung selbst muss daher in der zentralen Serverkonfiguration konfiguriert werden, damit das funktioniert. (Das müsste natürlich nicht so sein, aber die Apache-Entwickler haben es so implementiert und das ist der aktuelle Umfang von mod_dbd/mod_authn_dbd.) Das mod_authn_dbd und die SQL-Queries selbst kann man dagegen in der .htaccess einrichten, wenn denn mal die Datenbankverbindung bereits konfiguriert ist.

bei ein Massenhoster wird es diese Mögliochkeit, denke ich, nicht geben, oder?

Sehr unwahrscheinlich.

Andere simple Möglichkeiten gibt es mit Apache selbst im Moment nicht, evtl. kannst Du Dich mit bestimmten Scriptsprachenmodulen wie mod_perl oder mod_lua manuell "einklinken" und das zu Fuß machen oder per FastCGI (mod_fastcgi oder mod_fcgid) die Authentifizierung erledigen, was aber nicht ganz trivial ist.

hast Du für mod_fastcgi ein Beispiel? Hier wird php über mod_fastcgi ausgeführt.

Nein, habe ich gerade nicht, habe das auch noch nie selbst probiert, aber um Dich in die richtige Richtung zu stupsen: http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html#FastCgiAuthenticator Allerdings: Ob bzw. wie man das mit PHP zusammenbringen kann, kann ich aus dem Stehgreif nicht sagen.

Viele Grüße,
Christian