2009-07-30 3 views
0

Meine ASP-Seite liest eine Datei aus einem freigegebenen Verzeichnis und sendet sie an den Benutzer.Der IIS-Dienst wird als lokales Systemkonto ausgeführt. Wie kann ich also freigegebene Verzeichnisberechtigungen erteilen?

Dieser ASP-Code läuft auf dem Webserver, ich nehme an, dass es als lokales Systemkonto ausgeführt wird, weil IIS ist. filePath zeigt auf eine Datei auf dem Dateiserver \\ fileserver \ shared \ abc.pdf

Wenn ich den Code auf meinem lokalen Computer debuggen, wird die Datei korrekt von ASP-Seite gelesen. Wenn ich es jedoch auf dem Webserver ausführe, kann es die Datei nicht lesen. Welche Berechtigung muss ich \ fileserver \ shared geben, damit die ASP-Seite die Datei korrekt liest? Offensichtlich ist das lokale System keine gültige Benutzeranmeldung auf der Berechtigungsseite.

+0

Die Identität des Anwendungspools kann nicht geändert werden, da sie Auswirkungen auf alle anderen Webseiten hat, die auf demselben Server betrieben werden. In der aktuellen Umgebung ist es auch nicht möglich, das Passwort in der Datei zu speichern. Sie denken daran, einen Remoting-Aufruf an einen anderen Prozess auf dem Dateiserver auszuführen und den Dateiinhalt über Remoting-Aufruf weiterzuleiten. Oder gibt es einen einfacheren Weg? – yyykk

Antwort

1

In IIS werden die Anwendungspools standardmäßig als "Netzwerkdienst" ausgeführt. Dies ist ein lokales Konto im IIS-Feld. Wenn Sie auf eine Netzwerkfreigabe zugreifen möchten, müssen Sie die Identität des Anwendungspools für ein Konto mit Zugriff auf die Freigabe konfigurieren, z. B. für ein Domänenkonto.

Wenn sich beide Felder nicht in einer Domäne befinden, können Sie auf beiden Computern (identisch auf beiden Computern) Benutzernamen und Kennwort erstellen und diese für den Anwendungspool verwenden, indem Sie die Berechtigungen für die Freigabe festlegen) Benutzer auf dem Fileserver

0

Sie können versuchen, sich mit einem Benutzer zu imitieren, der auf die Freigabe zugreifen darf. Fügen Sie dies in Ihrem web.config hinzu:

+0

Ugh, immer eine schlechte Idee Einbetten eines Passworts in web.config. Wenn Sie diese Route gehen, sollten Sie Ihre web.config verschlüsseln, um sie zu verbergen. – blowdart

Verwandte Themen