Может захват и замена регулярных выражений можно использовать с директивой Apache DirectoryMatch?

голоса
5

Кто-нибудь знает, если это возможно, чтобы использовать захват регулярных выражений в директиве DirectoryMatch Апача? Я хотел бы сделать что-то вроде следующего:

<DirectoryMatch ^/home/www/(.*)>
    AuthType Basic
    AuthName $1
    AuthUserFile /etc/apache2/svn.passwd
    Require group $1 admin
</DirectoryMatch>

но до сих пор я не имел никакого успеха.

В частности, я пытаюсь создать на основе групп HTTP Auth для отдельных каталогов / виртуального хоста одновременно на сервере в Apache 2.0.

Например, сайт A, указывающий на / дома / WWW / а будет доступен всем пользователям в группе администратора и группы а, сайт б в / дома / WWW / б будет доступен всем пользователям в группе администратора и группы б, и т.д. . Я хотел бы, чтобы держать все на основе имени каталога, так что я могу легко скрипт добавления пользователей Htpasswd к соответствующим группам и автоматизировать этот процесс как можно больше, но и другие предложения для решения этой проблемы, безусловно, приветствуется.

Задан 18/09/2008 в 00:09
источник пользователем
На других языках...                            


2 ответов

голоса
0

То , что вы пытаетесь сделать очень похоже на пользователь домашних каталогов . Путь Apache обрабатывает это через разрешения файловой системы и файлы .htaccess . Я не верю , есть ли способ использовать регулярное выражение захвата в закрытых директивах (AuthName и т.д.).

Ответил 18/09/2008 в 00:33
источник пользователем

голоса
3

Вы можете решить эту проблему с совершенно иной точки зрения: включите модуль PERL и вы можете включить небольшой скрипт на языке Perl в вашем httpd.conf. Вы могли бы сделать что-то вроде этого:

<Perl>
my @groups = qw/ foo bar baz /;
foreach ( @groups ) {
    push @PerlConfig, qq| <Directory /home/www/$_> blah </Directory> |;
}
</Perl>

Таким образом, вы могли бы даже читать ваши группы и другую информацию из базы данных или просто дома / строятся по / WWW или что-то еще щекочет ваши фантазии.

Ответил 18/09/2008 в 11:43
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more