Реализовать пароль пользователя и аутентификацию сертификата клиента для одной и той же службы WCF в том же виртуальном диске в IIS - PullRequest
0 голосов
/ 17 октября 2011

У меня есть служба WCF, которая выставлена.С точки зрения безопасности мне необходимо аутентифицировать его как с помощью клиентских сертификатов, так и с помощью пароля пользователя.

Немногие клиенты должны проходить аутентификацию с использованием клиентских сертификатов, а другие - с помощью пароля пользователя.

Когда я настраиваю службуДля использования клиентских сертификатов необходимо настроить IIS -> параметры SSL для SSL Require.При этом другие клиенты, не имеющие сертификата клиента, не могут получить доступ к службе.

Как мне обойти эту проблему?

Ответы [ 2 ]

1 голос
/ 18 октября 2011

Я думаю, что нашел решение вышеуказанной проблемы.

Вам просто нужно, чтобы службы находились в разных папках в виртуальном каталоге.

Если у вас есть службы, описанные выше, в IIS, просто выберите папку, в которой выполняется аутентификация сертификата клиента, и задайте для папок настройки SSL.

ПРИМЕЧАНИЕ. В IIS вы можете установить настройки для каждой папки, используя web.config или в представлении функций IIS для каждой папки.

Таким образом, вы можете достичь нескольких аутентификаций.

1 голос
/ 18 октября 2011

Это невозможно при хостинге сервиса в IIS. Конфигурация SSL с требуемым клиентским сертификатом имеет область действия для всего виртуального каталога / приложения, в котором он настроен, и всего, что находится в этом каталоге. Таким образом, вы должны размещать службу дважды каждый раз в разных виртуальных каталогах или веб-приложениях с различной конфигурацией.

В качестве альтернативы вы можете самостоятельно разместить службу в службе Windows и указать отдельную конфигурацию для каждой конечной точки.

...