Konfigurieren von Apache für die Verwendung der SQL Server-Authentifizierung

Konfigurieren von Apache für die Verwendung der SQL Server-Authentifizierung

Ich glaube, es ist möglich, Apache so zu konfigurieren, dass SQL Server zur Authentifizierung verwendet wird. Sie geben die DB-Verbindungsparameter und eine auszuführende Abfrage an. Ich nehme an, der Vertrag sieht ungefähr so ​​aus:

Wenn die Abfrage etwas zurückgibt, ist der Benutzer authentifiziert, und wenn die Abfrageergebnisse leer sind, ist der Benutzer unbekannt.

Weiß jemand, wie ich das konfigurieren kann?

Antwort1

Ich habe das gerade für Apache 2.4 unter Windows 2012 herausgefunden. Ich denke, für Apache 2.2 wären die Änderungen geringfügig.

Entfernen Sie die Kommentarzeichen aus den erforderlichen LoadModule-Zeilen in httpd.conf:

  • authn_dbd_module
  • Authn_DBM_Modul
  • dbd_modul

Stellen Sie eine ODBC-Verbindung zum SQL Server her:
ODBC-Datenquellenadministrator, System-DNS, Hinzufügen..., Geben Sie Ihre spezifischen Informationen ein und merken Sie sich den „Namen“ für später.

Konfigurieren Sie die Authentifizierung in Apache:

DBDriver odbc
DBDParams "datasource=<Name here>,user=...,password=..."

<Location /secure>
   AuthType Basic 
   AuthName "Secure Area" 
   AuthBasicProvider dbd
   Require valid-user
   AuthDBDUserPWQuery "SELECT '$apr1$' + PasswordSalt + '$' + Password FROM <your table> WHERE UserName = %s"
</Location>

Ich hoffe, es bringt Sie in die richtige Richtung.

Antwort2

Ich weiß nicht, ob mssql unterstützt wird. Vielleicht, wenn Sie es zu pam hinzufügen und dann das durchgehen. mod_auth_mysql ist für mysql, mod_auth_pgsql für postgresql und mod_auth_dbi für die generische Datenbankschnittstelle.

verwandte Informationen