設定 Apache 以使用 SQL Server 驗證

設定 Apache 以使用 SQL Server 驗證

我相信可以將 Apache 設定為使用 SQL Server 進行驗證。您提供資料庫連線參數和要執行的查詢。我想合約是這樣的:

如果查詢傳回某些內容,則表示使用者已通過身份驗證,如果查詢結果為空,則表示該使用者未知。

有誰知道我該如何配置這個?

答案1

我剛剛為 Windows 2012 上的 Apache 2.4 解決了這個問題。

取消註解 httpd.conf 中必要的 LoadModule 行:

  • authn_dbd_模組
  • authn_dbm_模組
  • 資料庫模組

與 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 用於通用資料庫介面。

相關內容