EDIT : Dadurch wird verhindert, dass alle nicht authentifizierten Benutzer auf Ihre Dienste zugreifen können. Wenn Sie benötigen, dass nicht authentifizierte Benutzer in Ihrer Domäne auf die Dienste zugreifen können, lassen Sie es mich wissen, und ich werde das Update entsprechend anpassen.
Verwenden Sie die Authentifizierung in Ihrer ASP.NET-Anwendung?
<system.web>
...
<authentication mode="Forms">
<forms protection="All" defaultUrl="login.aspx" ... />
</authentication>
...
</system.web>
Wenn dies der Fall ist, kann auf Ihre .svc-Dateien nicht zugegriffen werden, bis sich Ihre Benutzer authentifizieren. Wenn ein nicht authentifizierter Benutzer versucht, auf eine .svc-Datei zuzugreifen, wird er auf Ihre Anmeldeseite umgeleitet.
EDIT(2) : Da Sie einen nicht-authentifizierten Zugang zu den Diensten Ihrer Website benötigen, können Sie ein Cookie in Erwägung ziehen, das beim ersten Besuch der Website an den Computer des Benutzers gesendet wird. Das Cookie könnte ein Erstellungsdatum und einen geheimen Schlüssel verwenden, um einen Hash zu erstellen, den Sie bei jeder Anfrage auf dem Server validieren können. Anfragen von anderen Websites würden das Cookie nicht weitergeben, und Ihr Dienst würde manuell prüfen, ob das Cookie vorhanden ist oder nicht - ist es nicht vorhanden, wird die Anfrage abgelehnt.
Wenn für Ihre WCF-Dienste die ASP.NET-Kompatibilität aktiviert ist (true) und AspNetCompatibilityRequirementsMode
auf Erlaubt oder Erforderlich gesetzt ist, sollten Sie Zugriff auf HttpContext und Cookies haben. Hier finden Sie weitere Informationen über den ASP.NET-Kompatibilitätsmodus.
Dies ist möglicherweise nicht die beste Lösung, da ich Ihr Szenario und Ihre Anforderungen nicht kenne. Aber hoffentlich hilft das.