web-dev-qa-db-fra.com

Apache httpd.conf autoriser l'intranet

quelle serait la configuration correcte pour autoriser uniquement les utilisateurs authentifiés et l'intranet (sans besoin de mot de passe) dans Apache? Cela ne demande pas un mot de passe et sans le "satisfaire" les utilisateurs de l'intranet sont également tenus de saisir un mot de passe ...

<Directory "/var/www">
#   Allow Network Access and/or Basic Auth
Satisfy any

allow from 192.168

AuthName "Enter passwd!"
require valid-user
AuthUserFile /var/.passwd
AuthType Basic
allow from all
order deny,allow
</Directory>
4
Magreet

Mais disons que vous voulez que les personnes de votre réseau local aient un accès complet, sans être invité à entrer un mot de passe. Dans ce scénario, nous pourrions utiliser:

<Directory /home/www/site1/private>
  AuthUserFile /home/www/site1-passwd
  AuthType Basic
  AuthName MySite
  Require valid-user
  Order allow,deny
  Allow from 172.17.10
  Satisfy any
</Directory>

Cela obligera tout le monde de l'extérieur à s'authentifier, mais ceux qui proviennent de la plage IP du réseau local ne seront pas tenus de le faire. Apache leur permettra d'accéder au répertoire sans s'authentifier. Vous pouvez ajouter d'autres noms d'hôte (locaux ou distants) à la directive Allow pour leur donner également accès au répertoire. Voir les documents Apache sur Autoriser.

Depuis le wiki Apache http://wiki.Apache.org/httpd/BypassAuthenticationOrAuthorizationRequirements

3
Anagio

Essayez de mettre

satisfy any
order deny,allow
deny from all

en haut au lieu de bas:

<Directory "/var/www">
#   Allow Network Access and/or Basic Auth
order deny,allow
Satisfy any

allow from 192.168

AuthName "Enter passwd!"
require valid-user
AuthUserFile /var/.passwd
AuthType Basic

deny from all    
</Directory>
0
Konerak