У меня есть приложение Silverlight в веб-приложении ASP.NET. Затем у меня есть библиотека служб WCF, размещенная в приложении ASP.NET. Я настроил безопасность как TransportWithCredentialOnly и проверку подлинности Windows. Это сценарий интранета.
В IIS7 на тестовом сервере у меня отключена анонимная аутентификация и включена аутентификация Windows. При такой настройке вызовы WCF не выполняются.
Если я включаю анонимную аутентификацию, тогда она работает. Какой смысл аутентификации Windows, если анонимную аутентификацию нельзя отключить.
Когда я использовал Web Helper в IE, казалось, что был вызов службы, подобный тому, когда вы получаете определение службы, и для этого требуется анонимная аутентификация. Я полагаю, что фактические вызовы методов Сервиса все равно будут аутентифицированы правильно.
Может кто-нибудь, пожалуйста, пролить свет на это, потому что я в замешательстве. Через несколько месяцев у нас будут тестеры на проникновение, и я боюсь, что им не понравится идея, что они увидят вызов службы в Fiddler или подобном, который они могут затем скопировать и вставить в адресную строку, чтобы получить определение службы. Поработав с ними до того, как они станут очень точными, и любая информация, которую они могут получить из приложения, является знаком минус. В моей конкретной отрасли безопасность чрезвычайно важна.
Если я делаю это неправильно, любая помощь будет принята с благодарностью.