Служба WCF, размещенная в IIS, и веб-сайт клиента в IIS

StackOverflow https://stackoverflow.com/questions/2158023

Вопрос

Вот желаемая настройка:

  • Служба с wsHttpBinding находится в IIS 6 на компьютере 1 за брандмауэром.
  • Клиент - это веб-сайт переднего плана на IIS 6 на компьютере 2 в DMZ.

В настоящее время мы можем аутентифицировать клиента с помощью проверки подлинности Windows, но с олицетворением

<identity impersonate="true" userName="OurCompany\Me" password="Blahblahblah" />

поскольку веб-сайт будет использовать "ASPNET" в качестве имени пользователя, которого нет в домене.

Теперь мы хотим отказаться от этого метода из-за проблемы безопасности;мы не хотим раскрывать такого рода информацию о демилитаризованной зоне.

  1. Есть ли какой-нибудь способ пройти надлежащую аутентификацию без использования олицетворения на клиенте конфигурация?

  2. Если бы мы изменили так, чтобы мы использовали аутентификацию по сертификату, повлияло бы это на операции службы, которые требуют олицетворений (необходимы олицетворения для доступа к файлам в сети, например)?

Спасибо.

Это было полезно?

Решение

Теперь этот вопрос решен, и я думаю, было бы конструктивно поделиться решениями.

Что касается моего первоначального вопроса - может ли он выполнять олицетворение, не устанавливая его явно в конфигурации или во внешнем коде.Как упоминалось выше, метод пула приложений действительно работает, но только тогда, когда клиент и сервер находятся в одном домене.

Поскольку клиент веб-сайта, расположенный в DMZ, вообще не имеет доступа к локальной сети, что означает, что мы не можем выдавать себя за какого-либо пользователя сети (это недостаток в моем первоначальном вопросе, в котором говорится, что олицетворение работает - на самом деле оно не работало).

Таким образом, единственным выходом было использование сертификата.Поскольку это внутренняя связь, я сгенерировал тестовый сертификат на каждой из сторон сервера / клиента с помощью makecert.Используя аутентификацию сертификата однорангового доверия, я могу наладить связь между клиентом и сервером.Это гарантирует, что информация об учетной записи пользователя Windows / network не будет представлена в зоне DMZ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top