Разрешить всем доступ к NamesPipeStreamServer - PullRequest
0 голосов
/ 16 февраля 2020

Я устанавливаю доступ NamedPipeStreamServer всем, кто использует этот код:

PipeSecurity pipeSa = new PipeSecurity(); 
pipeSa.AddAccessRule(new PipeAccessRule("Everyone", PipeAccessRights.ReadWrite, AccessControlType.Allow));   
NamedPipeServerStream np = new NamedPipeServerStream("channel", PipeDirection.InOut,1,PipeTransmissionMode.Message,PipeOptions.None,16383,1, pipeSa);

Я получил этот код от Клиент именованного канала не может подключиться к серверу, работающему в качестве сетевой службы . Я проверил это, и это похоже на работу. Однако есть другой ответ Клиент именованного канала, который не может подключиться к серверу, работающему в качестве сетевой службы , в котором говорится, что использование «Все» работает, только если система находится на английском языке sh. Я изменил язык, выполнил вход и выход, и использование «Все» по-прежнему работает.

Поэтому мой вопрос заключается в том, чтобы использовать строку «Все» для правильной настройки именованных серверов потокового канала, чтобы все пользователи могут подключаться?

Редактировать: я нашел WorldSid в качестве лучших вариантов (https://docs.microsoft.com/en-us/dotnet/api/system.security.principal.wellknownsidtype?view=netframework-4.8)

...