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 インターフェイス用です。