2013-06-14 2 views
2

Я использую WCF NamedPipesService для выполнения IPC между двумя процессами. Каков самый простой способ защитить службы WCF, и только мои процессы могут получить к ним доступ?Самый простой способ защитить службу WCF NamedPipes?

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

+0

http://msdn.microsoft.com/SV-SE/library/bb398990(v=vs.100).aspx – Jocke

+0

Возможный дубликат [Защита именованного канала, используемого WCF] (http://stackoverflow.com/questions/5122741/securing-the-named-pipe-used-by-wcf) –

+0

@Jocke: это не на английском – Cybermaxs

ответ

2

Невозможно придумать что-нибудь из коробки для связывания именованных труб. Однако всегда есть обходное решение.

Пользовательских заголовки

Вы можете легко реализовать IClientMessageInspector интерфейса для отправки некоторой информации пользовательской аутентификации (процесс ключевого слова или имени пользователя и пароль, например) при каждом вызове службы. Затем выполните команду IDispatchMessageInspector для проверки заголовков со стороны обслуживания. здесь вы можете найти более подробную информацию о message inspectors in WCF. Аутентификация

Окна
Просто используйте аккаунт Windos никто не может использовать для вашего приложения, за исключением и настроить проверку подлинности Windows, как этот

<security mode="Transport"> 
    <transport clientCredentialType="Windows" /> 
</security> 

Лично мне нравится вариант с пользовательских заголовков больше, но вам действительно нужно полностью проверить подлинность процесса? Никто не может получить доступ к вашему сервису публично. Как вы думаете, кто-то из вашей организации может атаковать вашу службу? Я имею в виду, может быть, это не совсем правильное обязательство в вашем случае.

+0

Вот способ [пользовательский заголовок и проверка] (http://omegacoder.com/?p=1075), который гораздо более безопасен для хакеров, чем файл app.config с открытым текстом. Это также простой пример, не требующий сообщения «IClientMessageInspector». – Volomike

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