Как защитить службу WCF с помощью NetNamedPipesBinding, чтобы ее мог вызывать только текущий пользователь?

Я использую службу WCF с NetNamedPipesBinding для связи между двумя доменами приложений в моем процессе.

Как защитить службу, чтобы она не была доступна другим пользователям на том же компьютере?

Я уже принял меры предосторожности, используя GUID в адресе конечной точки, поэтому есть небольшая безопасность из-за неясности, но я ищу способ заблокировать службу с помощью ACL или чего-то подобного.


person Samuel Jack    schedule 19.03.2010    source источник


Ответы (3)


См. http://blogs.charteris.com/blogs/chrisdi/archive/2008/06/23/exploring-the-wcf-named-pipe-binding-part-3.aspx для одного из способов сделать через ACL.

person Chris Dickson    schedule 15.11.2010

вы можете использовать аутентификацию WCF. Один из вариантов — проверить имя пользователя и пароль Windows. Если вы используете активный каталог, вы также можете использовать его (сложнее настроить, меньше обременять). http://blogs.msdn.com/pedram/archive/2007/10/05/wcf-authentication-custom-username-and-password-validator.aspx.

person Steve    schedule 19.03.2010
comment
Ваша ссылка на NetTCPBinding, а не на именованные каналы - person Shiraz Bhaiji; 19.03.2010
comment
Если вы делаете это в коде, вы можете (скорее всего) добавить поведение, показанное в этом посте. Если вы используете конфигурацию xml, вам может не повезти, она гораздо менее мощная. - person Steve; 19.03.2010

WCF NetNamedPipesBinding имеет только транспортную безопасность.

http://msdn.microsoft.com/en-us/library/ms731699.aspx

Это общий ПК? У вас есть несколько пользователей, которые входят локально на одну и ту же физическую машину?

person Shiraz Bhaiji    schedule 19.03.2010
comment
Потенциально его можно использовать на общей машине. - person Samuel Jack; 19.03.2010