動態判斷htpasswd文件

動態判斷htpasswd文件

有什麼方法可以動態決定執行時間使用哪個 htpasswd 檔案?例如,VirtualHost 上下文中的以下內容(不起作用,只是一個範例):

RewriteEngine on
RewriteMap htpasswdfiles txt:/srv/htpasswdfiles/htpasswdfiles.map
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule .* - [E=PASSWD_FILE:${htpasswdfiles:%1},L]

<Directory /some/path>
    AuthType Basic
    AuthName "Restricted Access"
    AuthUserFile $PASSWD_FILE
    Require valid-user
</Directory>

我知道上面的例子不起作用,但我不確定是否有不同的方法來使用這樣的環境變數...如果沒有,我不知道是否有其他方法來選擇 htpasswd 檔案在運行時動態地。 htpasswdfiles.map 將會是一個映射,其中包含左側的網域和右側的對應 htpasswd 檔案路徑。

答案1

我曾經使用根本mod_perl不使用htpasswd任何文件來設定動態基本身份驗證,Apache 配置中聲明了一個處理程序,Perl 處理其餘部分。但這可能不是您想要的(mod_perl現在不常用)。

答案2

解決方案1

只需將您的 Apache 配置指向一個平面文件,並讓 Apache 外部的腳本控制內容。

解決方案2

使用 LDAP 進行身份驗證,而不是在平面文件中尋找條目。

答案3

由於重寫和身份驗證完全沒有共同點,因此這是行不通的。

為什麼需要「動態選擇 htpasswd 檔案」?

相關內容