SQL Server 認証を使用するように Apache を構成する

SQL Server 認証を使用するように Apache を構成する

Apache を認証に SQL Server を使用するように構成することは可能だと思います。DB 接続パラメータと実行するクエリを指定します。契約は次のようになると思います。

クエリが何かを返す場合、ユーザーは認証されており、クエリ結果が空の場合、ユーザーは不明です。

これをどのように設定すればよいか知っている人はいますか?

答え1

私は Windows 2012 上の Apache 2.4 についてこれを理解しました。Apache 2.2 では変更はわずかだと思います。

httpd.conf 内の必要な LoadModule 行のコメントを解除します。

  • 認証データベースモジュール
  • 認証データベースモジュール
  • dbd_モジュール

SQL Server への ODBC 接続を作成します:
ODBC データ ソース アドミニストレーター、システム DNS、追加...、特定の情報を入力し、後で使用するために「名前」を覚えておいてください。

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>

それが正しい方向に進むきっかけになることを願っています。

答え2

mssql がサポートされているかどうかはわかりません。おそらく、pam に追加して、それを実行するとよいと思います。mod_auth_mysql は mysql 用、mod_auth_pgsql は postgresql 用、mod_auth_dbi は汎用 DB インターフェイス用です。

関連情報