#wcf #basic-authentication
#wcf #базовая аутентификация
Вопрос:
Я использую пользовательский базовый модуль аутентификации (http://www.custombasicauth.codeplex.com ) для аутентификации пользователей в службе WCF. Я использовал пользовательский поставщик членства и в методе ValidateUser я вызываю db и возвращаю true, если аутентификация прошла успешно. Я также создал привязку, которая использует безопасность транспорта для службы WCF. Теперь все работает нормально, проблема в том, что клиент хочет, чтобы для службы WCF были созданы две конечные точки, и пользовательская базовая аутентификация должна выполняться для одной конечной точки, а не для другой.
Действительно ли этого можно добиться с помощью модуля пользовательской аутентификации или мне нужно попробовать другие способы?
Ответ №1:
Это невозможно при размещении вашей службы в IIS. IIS имеет область проверки подлинности для всего виртуального каталога, и ваши конечные точки отображаются в одной службе = один ресурс в одном виртуальном каталоге. Вы должны либо перейти на самостоятельный хостинг и разместить службу в службе Windows (этот модуль вам больше не понадобится), либо вы должны снова развернуть службу в другом виртуальном каталоге или веб-приложении и изменить конфигурацию безопасности в каждом развертывании отдельно (= каждая конечная точка будет находиться в отдельной развернутой службе).