РЕДАКТИРОВАТЬ : Это предотвратит доступ всех неаутентифицированных пользователей к вашим услугам.Если вам нужны пользователи в вашем домене, которые не прошли проверку подлинности для доступа к службам, дайте мне знать, и я соответствующим образом обновлюсь.
Используете ли вы проверку подлинности в приложении ASP.NET?
<system.web>
...
<authentication mode="Forms">
<forms protection="All" defaultUrl="login.aspx" ... />
</authentication>
...
</system.web>
Если это так, ваши файлы .svc будут недоступны до тех пор, пока ваши пользователи не аутентифицируются.Если пользователь, не прошедший проверку подлинности, пытается получить доступ к файлу .svc, он будет перенаправлен на вашу страницу входа в систему.
EDIT (2) : так как вам необходим доступ без проверки подлинности к службамна вашем сайте вы можете подумать о том, чтобы иметь cookie-файл, который отправляется на компьютер пользователя при первом посещении сайта.Файл cookie может использовать дату создания и некоторый секретный ключ для создания хэша, и вы можете проверять хэш на сервере для каждого запроса.Запросы с других сайтов не передадут cookie, и ваша служба вручную проверит, есть ли этот cookie или нет - если его нет, запрос отклоняется.
Если ваши службы WCF имеют ASPСовместимость .NET включена (true) и для AspNetCompatibilityRequirementsMode
установлено значение Разрешено или Обязательно, у вас должен быть доступ к HttpContext и файлам cookie. Здесь больше информации о режиме совместимости ASP.NET.
Это может быть не самое подходящее решение, так как я не знаю ваш сценарий и требования.Но, надеюсь, это поможет.