Ich habe einen Server, den ich über eine Named Pipe einrichten. Es funktioniert gut für Administratoren der Domäne, aber wenn ich den Client für einen normalen Benutzer testen, gibt es die Ausnahme "Zugriff auf Pfad verweigert". Hier ist, was ich versuche, die Berechtigungen zu setzen, um allen authentifizierten Benutzern in der Domäne Zugriff zu gewähren. Was mache ich hier falsch?Einrichten der Named Pipe-Sicherheit in einer Domäne
Server:
NamedPipeServerStream pipeServer = new NamedPipeServerStream("message-generator", PipeDirection.InOut, pipeThreads, PipeTransmissionMode.Message, PipeOptions.None);
PipeSecurity pipeSecurity = pipeServer.GetAccessControl();
pipeSecurity.AddAccessRule(new PipeAccessRule(@"localdomain\Authenticated Users", PipeAccessRights.FullControl, AccessControlType.Allow));
pipeServer.SetAccessControl(pipeSecurity);
Auftraggeber:
NamedPipeClientStream pipeClient = new NamedPipeClientStream("servername", "message-generator", PipeDirection.InOut, PipeOptions.None, TokenImpersonationLevel.Impersonation))
Die Server und Domain sind natürlich unterschiedlich, aber auf dem Server, wenn es um die pipeServer.SetAccessControl Funktion bekommt es gibt mir die Ausnahme „UnauthorizedAccessException ".
Jede Hilfe sehr
geschätzt
Man, der 'NamedPipeServerStream' Konstruktor ist ein bisschen dumm, Sie können die Sicherheit nicht ändern, wenn Sie die' PipeAccessRights' nicht setzen, aber dann im Konstruktor, wenn Sie die 'PipeAccessRights' einstellen, müssen Sie eine 'PipeSecurity', um dorthin zu gelangen ... also kannst du es auch einfach an erster Stelle setzen. – codenamezero