يمكن regex التقاط بدائل يمكن استخدامها مع اباتشي DirectoryMatch التوجيه ؟

StackOverflow https://stackoverflow.com/questions/88570

  •  01-07-2019
  •  | 
  •  

سؤال

لا أحد يعرف إذا كان من الممكن استخدام التعابير المنطقية التقاط داخل أباتشي DirectoryMatch التوجيه ؟ أود أن تفعل شيئا من هذا القبيل ما يلي:

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

ولكن حتى الآن لا توجد لدي النجاح.

على وجه التحديد, أنا أحاول إنشاء مجموعة على أساس HTTP المصادقة على الدلائل الفردية/vhosts على ملقم في أباتشي 2.0.

على سبيل المثال, موقع, لافتا إلى /home/www/a سوف تكون متاحة لجميع المستخدمين في مجموعة الادارة و فريق الموقع ب في /الوطن/www/b سوف تكون متاحة لجميع المستخدمين في مجموعة "المسؤول" و "المجموعة باء" ، إلخ.أود أن تبقي كل شيء على أساس اسم الدليل لذلك أنا يمكن بسهولة النصي إضافة هتباسود المستخدمين إلى المجموعات الصحيحة وأتمتة هذا بقدر الإمكان ، ولكن اقتراحات أخرى من أجل حل المشكلة هي بالتأكيد موضع ترحيب.

هل كانت مفيدة؟

المحلول

هل يمكن معالجة هذه المشكلة من زاوية مختلفة تماما:تمكين perl module و يمكنك تضمين قليلا perl في httpd.conf.ثم هل يمكن أن تفعل شيئا مثل هذا:

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

بهذه الطريقة, يمكنك حتى قراءة المجموعات الخاصة بك وغيرها من المعلومات من قاعدة بيانات أو ببساطة عن طريق globbing /home/www أو أي شيء آخر يدغدغ يتوهم الخاص بك.

نصائح أخرى

ما كنت تحاول أن تفعل تبدو مشابهة جدا لكل مستخدم الدلائل الرئيسية.طريقة أباتشي يعالج هذه من خلال أذونات نظام الملفات ، .ملفات هتكس.أنا لا أعتقد أن هناك أي طريقة لاستخدام regex القبض في المغلقة توجيهات (AuthName ، إلخ).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top