Пользовательская базовая аутентификация в WCF

#wcf #basic-authentication

#wcf #базовая аутентификация

Вопрос:

Я использую пользовательский базовый модуль аутентификации (http://www.custombasicauth.codeplex.com ) для аутентификации пользователей в службе WCF. Я использовал пользовательский поставщик членства и в методе ValidateUser я вызываю db и возвращаю true, если аутентификация прошла успешно. Я также создал привязку, которая использует безопасность транспорта для службы WCF. Теперь все работает нормально, проблема в том, что клиент хочет, чтобы для службы WCF были созданы две конечные точки, и пользовательская базовая аутентификация должна выполняться для одной конечной точки, а не для другой.

Действительно ли этого можно добиться с помощью модуля пользовательской аутентификации или мне нужно попробовать другие способы?

Ответ №1:

Это невозможно при размещении вашей службы в IIS. IIS имеет область проверки подлинности для всего виртуального каталога, и ваши конечные точки отображаются в одной службе = один ресурс в одном виртуальном каталоге. Вы должны либо перейти на самостоятельный хостинг и разместить службу в службе Windows (этот модуль вам больше не понадобится), либо вы должны снова развернуть службу в другом виртуальном каталоге или веб-приложении и изменить конфигурацию безопасности в каждом развертывании отдельно (= каждая конечная точка будет находиться в отдельной развернутой службе).