2016-07-13 16 views
0

Warum dies eine Zugriffsverletzung erhalten:Warum erhält neuer FileStream Zugriffsverletzung im REST-Dienst, wenn Pfad IP-Adresse hat?

 using fs := new FileStream(fullFilename, FileMode.Open, System.IO.FileAccess.Read) 

wenn die fullfilename wie "\\ 52.1.1.1 \ d $ \ temp \ file.bmp" und jeder in den Ordner hat Zugriff ist?

Wenn die Datei nur "d: \ temp \ file.bmp" ist, kann der FileStream sie lesen. Es gibt etwas über den IP-Adressteil.

Die Sprache ist Oxygene, aber ich bin nicht sicher, warum das einen Unterschied machen würde. Aber es ist .Net. FWIW.

+0

Ich denke, einige zusätzliche Hintergrundinformationen werden benötigt, um Ihre Frage zu beantworten ... Verwenden Sie Visual Basic? Welche Version? Können Sie andere lokale Dateien lesen (nicht auf der Netzwerkfreigabe?) – jeyoor

+1

Fügen Sie das Tag der von Ihnen verwendeten Sprache hinzu – svn

Antwort

0

Erraten hier viel, aber:

Ich denke, Ihr REST-Dienst wird in einem Webserver, wie IIS ausgeführt wird? Standardmäßig werden Windows-Dienste als LocalService account ausgeführt. Diese "präsentiert anonyme Anmeldeinformationen im Netzwerk".

"Jeder hat Zugriff auf den Ordner", sagen Sie, aber "Contrary to popular belief, anyone who is logged in anonymously—that is, they did not authenticate—will NOT be included in the EVERYONE group.".

(und warum hat jeder Zugriff auf d$ - eine administrative Freigabe, überhaupt?).

Ihr Dienst hat keinen Zugriff und Sie müssen bestimmte Anmeldeinformationen explizit an die Freigabe übergeben oder in einem IIS-Anwendungspool als credential-Konto ausführen, das auf die Freigabe zugreifen kann.