Christian Seiler: Unterscheidung von Internet und Intranet Usern

Beitrag lesen

Hallo,

Ich habe einen Apache im LAN laufen, der über das Intranet über eine feste IP erreichbar ist. Derselbe Apache ist per Port-Forewarding durch den Router ebenfalls über das Internet erreichbar. Jetzt würde ich gerne allen Zugriffen über das Internet eine Authentification(.htaccess) vorschreiben, und den internen Usern nicht. Ist das möglich? Wenn ja, wie?

Ja - das ist möglich. Der Trick liegt in der Satisfy-Direktive. Damit kann man dem Apachen sagen, dass wenn irgendeine Authentifizierungsrichtlinie zutrifft, der Benutzer zugelassen wird. Daher: wenn der Benutzer von einer zugelassenen IP kommt _ODER_ das Passwort weiß, dann wird er durchgelassen.

Hier ist der Quelltext, den ich gerade bei mir getestet habe (<IPs> muss noch durch die gültigen IPs ersetzt werden, <Name> durch den Namen der Resource (such dir einen aus) und <UserFile> durch die Datei, die die Benutzer enthält):

Order Deny,Allow
Deny from all
Allow from <IPs>
AuthType Basic
AuthName "<Name>"
AuthUserFile <UserFile>
Require valid-user
Satisfy any

Grüße,

Christian