NamedPipeClientStream и System.UnauthorizedAccessExceptionC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 NamedPipeClientStream и System.UnauthorizedAccessException

Сообщение Anonymous »

Я пытаюсь использовать именованные каналы, чтобы служба Windows и приложение могли обмениваться сообщениями.
СЕРВИС

Код: Выделить всё

var ps = new PipeSecurity();
//ps.SetAccessRule(new PipeAccessRule("Everyone",
PipeAccessRights.ReadWrite, AccessControlType.Allow));
//ps.SetAccessRule(new PipeAccessRule(
//    new SecurityIdentifier(WellKnownSidType.AuthenticatedUserSid, null),
//    PipeAccessRights.ReadWrite,
//    AccessControlType.Allow));
//ps.SetAccessRule(new PipeAccessRule(
//    new SecurityIdentifier(WellKnownSidType.BuiltinUsersSid, null),
//    PipeAccessRights.ReadWrite,
//    AccessControlType.Allow));
ps.SetAccessRule(new PipeAccessRule(
new SecurityIdentifier(WellKnownSidType.WorldSid, null),
PipeAccessRights.ReadWrite,
AccessControlType.Allow));

var serverPipe = new NamedPipeServerStream(NamedPipeHelper.PipeName,
PipeDirection.InOut, 1,
PipeTransmissionMode.Message);
serverPipe.SetAccessControl(ps);
await serverPipe.WaitForConnectionAsync(ct);
ПРИЛОЖЕНИЕ

Код: Выделить всё

var clientPipe = new NamedPipeClientStream(".", NamedPipeHelper.PipeName,
PipeDirection.InOut);
await clientPipe.ConnectAsync(TimeSpan.FromSeconds(3), ct);
Как только приложение пытается подключиться к службе, я получаю

System.UnauthorizedAccessException: доступ к пути отказано

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

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

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

Подробнее здесь: https://stackoverflow.com/questions/785 ... sexception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Метод не найден: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object)
    Anonymous » » в форуме C#
    0 Ответы
    142 Просмотры
    Последнее сообщение Anonymous
  • Пример кода C# для записи в служебную шину Azure завершается с ошибкой System.UnauthorizedAccessException: не удалось ра
    Anonymous » » в форуме C#
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • SharePoint 2013 — System.UnauthorizedAccessException: доступ запрещен
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Xamarin iOS System.UnauthorizedAccessException: доступ к пути запрещен при чтении общих файлов
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Xamarin iOS System.UnauthorizedAccessException: доступ к пути запрещен при чтении общих файлов
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»