web-dev-qa-db-fra.com

Comment accomplir "AuthType None" dans Apache 2.2

http://httpd.Apache.org/docs/trunk/mod/mod_authn_core.html#authtype parle de "AuthType None", et a un exemple impressionnant de ce que je dois faire - malheureusement, il semble être nouveau à 2.3/2.4. Existe-t-il une fonctionnalité équivalente dans 2.2?

Le type d'authentification Aucun désactive l'authentification. Lorsque l'authentification est activée, elle est normalement héritée par chaque section de configuration suivante, sauf si un type d'authentification différent est spécifié. Si aucune authentification n'est souhaitée pour une sous-section d'une section authentifiée, le type d'authentification Aucun peut être utilisé; dans l'exemple suivant, les clients peuvent accéder au répertoire/www/docs/public sans s'authentifier:

<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>
40
Technorati

Quelque chose comme ci-dessous fonctionne pour moi avec Apache 2.2. Je l'ai pris de 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>
99
Frank Henard

Il vous suffit de définir Autoriser de tous et Satisfaire à tout

Cela a fonctionné pour moi:

Alias /example "/opt/example.com"

<Directory "/opt/example.com">
  Options None
  AllowOverride None
  Order allow,deny
  Allow from all
  Satisfy Any
</Directory>
8
Gustavo Soares
<Directory /www/docs/public>
AuthType None
Require all granted
Satisfy Any
</Directory>

Cela fonctionnera

7
Medvedus

Je voulais juste ajouter cette information:

Sur Apache 2.2.22, vous devez avoir l'ordre correct pour que cela fonctionne:

Cela n'a pas fonctionné pour moi pour l'emplacement "/ foo/sub":

Satisfy Any
Allow from all

C'est-à-dire que l'authentification à partir de l'emplacement "/ foo" défini avant "/ foo/sub" était toujours appliquée.

Cela fonctionne pour l'emplacement "/ foo/sub":

Allow from all
Satisfy Any

C'est à dire. l'authentification à partir de l'emplacement "/ foo" défini avant "/ foo/sub" a été annulée.

2
Bob

Cela a fonctionné pour moi sur Apache2.2:

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

Je pense que vous avez raison: il n'est pas pris en charge dans Apache 2.2.

Je voudrais essayer la solution de contournement laid à https://issues.Apache.org/bugzilla/show_bug.cgi?id=10932

Quelque chose comme:

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

ou

<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>
1
Marc MAURICE