dynamic确定htpasswd文件

有什么办法来dynamic确定在运行时使用哪个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> 

我知道上面的例子不起作用,但我不知道是否有不同的方式来使用像这样的环境variables…如果不是,我不知道是否有任何其他方法来selecthtpasswd文件在运行时dynamic。 htpasswdfiles.map将是一个包含左侧域名和右侧相应htpasswd文件path的地图。

我曾经使用mod_perl设置dynamic基本身份validation,没有任何htpasswd文件,有一个处理程序在Apacheconfiguration中声明,而Perl处理剩下的部分。 但是这可能不是你想要的(现在mod_perl不常用)。

解决scheme1

只需将你的Apacheconfiguration指向一个平面文件,并在Apache外部有一个脚本来控制内容。

解决scheme2

使用LDAP进行身份validation,而不是在平面文件中查找条目。

由于重写和authentication完全没有任何共同之处,这是行不通的。

为什么你需要“dynamicselecthtpasswd文件”?