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 파일을 동적으로 선택"해야 합니까?

관련 정보