Laden...

IIS Zugriff auf NAS

Erstellt von Wax vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.865 Views
Wax Themenstarter:in
731 Beiträge seit 2006
vor 11 Jahren
IIS Zugriff auf NAS

Hallo zusammen,

der Umgang mit dem IIS ist mir relativ neu und nun habe ich die Anforderung bekommen ein paar Daten einer ASP.NET Webanwendung die per IIS gehostet wird, auf ein NAS zu legen. Also es sind Daten die vom User hochgeladen werden und es wird gewünscht diese Daten nicht auf demselben Rechner wo auch der IIS läuft zu speichern, sondern auf einem NAS.

Ich habe daraufhin mal den standard lokalen Pfad in einen NAS-UNC Pfad geändert. Allerdings haut mir die Anwendung jetzt sowas hier um die Ohren:> Fehlermeldung:

System.IO.DirectoryNotFoundException: Could not find a part of the path 'NAS-UNC Pfad'.

Der Pfad existiert!

Ich frage mich nun an welchem Berechtigungsproblem es liegt. Fehlt der Web-Anwendung ein Recht auf dem NAS oder muss der Anwendungspool ein Recht auf dem NAS bekommen?

MfG
wax

114 Beiträge seit 2009
vor 11 Jahren

Ich hab schon öfter mit dem IIS gearbeitet bin aber bzgl. der Berechtigungen nie so richtig sicher geworden.

Ich glaube aber, dass der IIS die Berechtigung braucht um in das NAS zu schreiben. Welcher Benutzer das ist, hängt von der Konfiguration ab. Es kann z.B. sein, dass der Anwender beim Anmelden an die Webanwendung eine entsprechende Rolle annimmt und die Web-Anwendung dann im entsprechenden Kontext läuft.

Ich würde darüber nachdenken zum Uploaden auf das NAS einen eigenen Benutzer anzulegen und die Credentials entsprechend zu ändern.

Im CodeProject gibt es ein entsprechendes Example:
Connect to a UNC Path with Credentials

Gruß

Wax Themenstarter:in
731 Beiträge seit 2006
vor 11 Jahren

Wenn du schreibst

Ich glaube aber, dass der IIS die Berechtigung braucht um in das NAS zu schreiben.

meinst du dann den Anwendungspool der für die Webanwendung verwendet wird?

Für die Anwendung wird eine anonyme Authentifizierung genutzt mit bestimmten User "IUSR". Der verwendete Anwendungspool benutzt die Identität "ApplicationPoolIdentity".

Müsste nun der Anwendungspool mit einer anderen Identität laufen? Zum Beispiel ein User Account, der auch als User Account auf dem NAS angelegt wurde?

MfG
wax

Wax Themenstarter:in
731 Beiträge seit 2006
vor 11 Jahren

Was ich ganz vergessen hatte zu erwähnen: Wenn ich die Seite im Studio (Cassini) hosten lassen, dann klappt alles und ich kann das NAS benutzen.

Mit welcher Berechtigungsstufe läuft Cassini denn bitte? 😃

MfG
wax

16.825 Beiträge seit 2008
vor 11 Jahren

Natürlich muss man einer Anwendung Rechte geben, damit diese auf ein geschütztes Laufwerk zugreifen kann. Ansonsten handelt sie anonym und das geht natürlich nicht.

Der richtige Weg ist dem AppPool einen User zuzuweisen, der die Rechte hat oder mit Impersonation zu arbeiten - dafür ist es da.
Das müsste doch allein aus logischer Schlussfolgerung schon klar sein und hättest mit einfachem Debugging über den aktuellen Request einer Seite herausfinden können.