2010-04-14 8 views
37

http://httpd.apache.org/docs/trunk/mod/mod_authn_core.html#authtype spricht über "AuthType None", und hat ein großartiges Beispiel für genau das, was ich tun muss - leider scheint es zu 2.3/2.4 neu zu sein. Gibt es ein äquivalentes Merkmal in 2.2?Wie man "AuthType None" in Apache 2.2 erreicht

Der Authentifizierungstyp Keine deaktiviert Authentifizierung. Wenn die Authentifizierung aktiviert ist, wird sie normalerweise von jedem folgenden Konfigurationsabschnitt geerbt, sofern kein anderer Authentifizierungstyp angegeben ist. Wenn für einen Unterabschnitt eines authentifizierten Abschnitts keine Authentifizierung gewünscht ist, kann der Authentifizierungstyp None ( ) verwendet werden. im folgenden Beispiel können Kunden Zugriff auf das/www/docs/öffentliches Verzeichnis ohne Authentifizierung:

<Directory /www/docs> 
AuthType Basic 
AuthName Documents 
AuthBasicProvider file 
AuthUserFile /usr/local/apache/passwd/passwords 
Require valid-user 
</Directory> 

<Directory /www/docs/public> 
AuthType None 
Require all granted 
</Directory> 

Antwort

5
<Directory /www/docs/public> 
AuthType None 
Require all granted 
Satisfy Any 
</Directory> 

Diese

1

funktioniert Ich glaube, Sie haben Recht: Es ist nicht unterstützt in Apache 2.2.

Ich würde versuchen, die hässliche Abhilfe bei https://issues.apache.org/bugzilla/show_bug.cgi?id=10932

Etwas wie:

<DirectoryMatch "^/www/docs/(?!public)"> 
AuthType Basic 
AuthName Documents 
AuthBasicProvider file 
AuthUserFile /usr/local/apache/passwd/passwords 
Require valid-user 
</Directory> 

oder

<DirectoryMatch "^/www/docs/[^p][^u][^b][^l][^i][^c]"> 
AuthType Basic 
AuthName Documents 
AuthBasicProvider file 
AuthUserFile /usr/local/apache/passwd/passwords 
Require valid-user 
</Directory> 
94

So etwas funktioniert für mich unten mit Apache 2.2. Ich nahm es von http://httpd.apache.org/docs/2.2/mod/core.html#require

<Directory /www/docs> 
    AuthType Basic 
    AuthName Documents 
    AuthBasicProvider file 
    AuthUserFile /usr/local/apache/passwd/passwords 
    Require valid-user 
</Directory> 
<Directory /www/docs/public> 
    # All access controls and authentication are disabled 
    # in this directory 
    Satisfy Any 
    Allow from all 
</Directory> 
+4

@Technorati vielleicht sollten Sie in Betracht ziehen, bereits eine Antwort zu akzeptieren? Diese Lösung hat für mich bisher gut funktioniert. – amn

+1

Einverstanden, diese Antwort muss akzeptiert werden. –

+0

Wenn Sie nur bestimmte Dateien zulassen möchten, können Sie eine Files-Direktive unter der übergeordneten Directory-Direktive verschachteln. Es kann jedoch nicht mit getan werden – balping

1

Das ist für mich auf apache2.2 gearbeitet:

<Location /trac> 
     #.... 
     AuthType Basic 
     AuthName "BLA domain" 
     AuthUserFile /etc/.passwd 
     Require valid-user 
     Allow from all 
     Satisfy Any 
    </Location> 
7

Sie müssen nur von allen zulassen gesetzt und Satisfy Alle

Das ist für mich gearbeitet:

Alias /example "/opt/example.com" 

<Directory "/opt/example.com"> 
    Options None 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
    Satisfy Any 
</Directory> 
1

Ich wollte nur diese paar Informationen hinzuzufügen:

Auf 2.2.22 Apache müssen Sie korrekt den Auftrag haben, für sie zu arbeiten:

für mich für die Lage „/ foo/sub“

Dies hat nicht funktioniert:

Satisfy Any 
Allow from all 

Dh die Authentifizierung von Der vor "/ foo/sub" definierte Ort "/ foo" wurde weiterhin angewendet.

Dies funktioniert für die Lage "/ foo/sub":

Allow from all 
Satisfy Any 

D.h. Die Authentifizierung von der Position "/ foo", die vor "/ foo/sub" definiert wurde, wurde annulliert.

Verwandte Themen