2011-07-18 4 views
1

У нас есть служба Windows с привязкой tcp. Он имеет режим безопасности транспорта, а тип учетных данных - Windows. Служба находится в пределах домена.Вопрос конфигурации безопасности безопасности WCF

Теперь мы хотим сделать звонки этой службе из приложения ASP.NET, работающего на IIS, который не является частью домена. Нам не нужна олицетворение пользователей. Какой самый безопасный способ включить такую ​​связь?

Это довольно стандартная ситуация: веб-сервер находится в DMZ, и я хотел бы знать, как установить безопасную связь с бэкэнд-услугами WCF.

+0

Вы также можете рассмотреть возможность использования федеративной безопасности, но это совершенно новый мир боли, за который вы подпишетесь. Если вы будете использовать федеративную безопасность вне этого единственного приложения, то это может стоить того, но в противном случае я бы пошел с двумя разными конечными точками, такими как Ladislav, рекомендованными ниже. –

ответ

2

Я надеюсь, что это не сработает. Вы не можете использовать тип учетных данных клиента Windows, если хотите использовать службу за пределами своего домена. Вы должны использовать Certificate (или None, но это означает отсутствие аутентификации).

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

+0

Ladislav, вы знаете, может ли сервис объединить эти два метода? скажем, если IP-адрес вызывающего абонента - это IIS, то примените проверку подлинности сертификата, в противном случае - окна. – Kimi

+1

Я считаю, что он должен просто работать с разоблачением двух разных конечных точек - каждый со своей собственной конфигурацией net.tcp. –

Смежные вопросы