IIS 7: Deaktivieren Sie die Authentifizierung für bestimmte Client-IPs

IIS 7: Deaktivieren Sie die Authentifizierung für bestimmte Client-IPs

Ich habe ein virtuelles Verzeichnis, das mit einer Basisauthentifizierung geschützt ist. Ich möchte die Authentifizierung für bestimmte IPs deaktivieren, sodass alle Anfragen von z. B. 127.0.0.1 ohne Abfrage von Anmeldeinformationen zugelassen werden. Wie kann ich das tun?

Antwort1

Ich konnte keine integrierte Methode finden, um dies zu erreichen. Ich habe schließlich ein IIS-Modul geschrieben mitdie Anleitung von Microsoft.

Das Modul überprüft die IP-Adresse des Clients (mit HttpRequest.UserHostAddress) und implementiert, wenn sie nicht auf der Ausnahmeliste steht, die standardmäßige Basisauthentifizierung für Windows-Konten erneut (mit der LogonUserAPI und Einstellung HttpContext.Userauf WindowsPrincipal). Die Authentifizierungsdomäne und die Liste der ausgenommenen IP-Adressen werden ausgelesen web.config(mit ConfigurationManager.AppSettings).

Zu den Stolpersteinen gehörten:

  • Ich wollte den Server selbst ausnehmen, also habe ich 127.0.0.1die IP-Adresse des Servers zur Ausnahmeliste hinzugefügt, musste aber auch ::1(IPv6-Localhost) hinzufügen.
  • Ich verwende dies, um den Zugriff auf hgweb zu schützen, und aus irgendeinem Grund musste ich nach der Aktivierung des Plugins die Einträge in hgrcder allow_pushZeile von usernamein ändern.DOMAIN\username

verwandte Informationen