
런타임에 사용할 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 파일을 동적으로 선택"해야 합니까?