Проблемы безопасности WCF с именованными каналами

У меня есть немного сложная настройка, которая, конечно, прекрасно работает в XP, но задыхается на Windows 7. Это может показаться безумием, но в то время это имело смысл!

У меня есть приложение WPF, которое запускает, а затем запускает другое приложение, которое связывается с внешним устройством. После запуска он устанавливает связь с новым процессом, используя WCF (размещенный новым процессом) через именованный канал (net.pipe). Кажется, это работает нормально на любой ОС.

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

Затем я хотел сделать функциональность приложения WPF доступной через Интернет. Теперь важно, чтобы приложение WPF можно было запускать из учетной записи обычного пользователя, поэтому я подумал, что лучшим способом заставить эту работу работать в Windows 7 было бы создание службы Windows, которая обеспечила бы часть веб-службы и обеспечивала бы ее обратную связь. в приложение WPF через тот же именованный канал, который отлично работает для командной строки. Я реализовал это, и он работает нормально на XP, но он задыхается на Windows 7. Проблемаseems быть при попытке установить соединение именованного канала между службой Windows и приложением WPF.

Если я запускаю приложение WPF от имени администратора, оно работает нормально. Таким образом, представляется, что проблема с учетной записью, в которой запущена служба Windows, не может связываться с обычной учетной записью пользователя, которая размещает службу WCF через именованные каналы. Есть ли способ сделать эту работу? Кажется, что служба WCF, работающая в учетной записи обычного пользователя, может связываться с помощью именованных каналов с другим приложением, работающим в той же учетной записи, но, похоже, она не может делать то же самое с другой учетной записью.

Как ни странно, наоборот работает. Служба Windows фактически также предоставляет службу с привязкой именованного канала (она используется в качестве функции активации, поскольку служба работает все время). Я могу без проблем подключиться из приложения WPF к этому сервису.

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

Ответы на вопрос(2)

Ваш ответ на вопрос