Ich schreibe einen traditionellen ASMX Webservice mit C# mit .Net 2.0 für den Einsatz auf IIS. Der Webservice wird in einer Shared-Hosting-Umgebung bereitgestellt, in der jeder Client seine eigene Kopie der Anwendung in einem separaten virtuellen Verzeichnis hat (ich weiß, ich weiß, es ist eine Legacy-App). In jedem virtuellen Verzeichnis befindet sich eine einzelne Kopie des Webservice.Wie kann ich den Zugriff auf einen Webservice programmatisch beschränken?
Da der Webservice möglicherweise einige mächtige Dinge tun könnte, möchte ich optional den Zugriff auf bestimmte IP-Adressen beschränken. Dies in der Firewall zu tun ist keine sehr gute Option, da nur der Webservice und nicht der Rest der Website eingeschränkt werden sollte - und dies auf einer virtuellen Verzeichnisebene.
Kann ich die IP-Adresse des Anforderers programmgesteuert lesen und mit einer Liste vergleichen, damit ich Anrufe von anderen Adressen abweisen kann? Gibt es irgendwelche großen Fallstricke?
Dank