web-dev-qa-db-de.com

ASP.Net, unter welchem ​​Benutzerkonto der Webdienst ausgeführt wird IIS 7?

Ich möchte wissen, welches Konto mit meinem Webdienst/Anwendung ausgeführt wird, damit ich dem Konto den Lese-/Schreibzugriff zuweisen kann. Ich habe recherchiert und die meisten Quellen über ASPNET-Konten erwähnt, aber auf meinem 2008-Server gibt es keinen Account namens ASPNET. Einige Quellen sagen, dass ASPNET durch NETWORK SERVICE ersetzt wird?

Kann ich auch einem anderen Benutzer ein Konto zuweisen, um den Dienst auszuführen? Und wie geht das?

Vielen Dank,

41
Leo

Sehen Sie sich die Identität des Anwendungspools an, in dem Ihre Anwendung ausgeführt wird. Standardmäßig ist dies das Netzwerkdienstkonto. Sie können dies jedoch ändern.

Zumindest funktioniert das auf 2003 Server. Weiß nicht, ob sich einige Details für 2008 Server geändert haben.

31
Joe

Server 2008

Starten Sie Task-Manager Suchen Sie den Prozess w3wp.exe (Beschreibung IIS Worker Process) Überprüfen Sie die Spalte Benutzername, um herauszufinden, wer Sie sind IIS Prozess, der ausgeführt wird.

In der Benutzeroberfläche IIS können Sie Ihren Anwendungspool so konfigurieren, dass er als bestimmter Benutzer ausgeführt wird: Anwendungspool Standard Erweiterte Einstellungen Identität

Hier die Informationen von Microsoft zum Einrichten von Application Pool Identites:

http://learn.iis.net/page.aspx/624/application-pool-identities/

50
MLH

Sie suchen höchstwahrscheinlich das IIS_IUSRS-Konto. 

8
Glade Mellor

Ich hatte eine Menge Ärger damit und fand dann eine großartige Lösung:

Erstellen Sie in einem Texteditor eine Datei mit dem Namen whoami.php mit dem folgenden Code als Inhalt. Speichern Sie die Datei und laden Sie sie in public_html hoch (oder wie der Name Ihres Webserver-Verzeichnisses lautet). Es sollte eine nützliche Zeichenfolge ausgegeben werden, mit der Sie den Benutzer ermitteln können, auf dem der Webserver ausgeführt wird. Meine Ausgabe lautete "php läuft als Benutzer: nt Authority\iusr", wodurch ich die Berechtigungen ermitteln konnte, die ich für die Änderung benötige Benutzer "IUSR".

<?php
  // outputs the username that owns the running php/httpd process
  // (on a system with the "whoami" executable in the path)
  echo 'php is running as user: ' . exec('whoami');
?>
2
DrCord

Sie müssen den richtigen Benutzer finden, der den temporären Ordner verwenden muss ..__ Auf meinem Computer folge ich dem obigen Link und finde den speziellen Ordner C:\inetpub, den er zur Ausführung seiner Webdienste verwendet. Ich überprüfe, welche Benutzer diesen Ordner verwenden könnten, und finde Folgendes: Computername\iis_isusrs

Das Hauptproblem tritt auf, wenn Sie versuchen, es allen zuzulassen, die im temporären Ordner .__ erlaubt sind. Ich ging auf Eigenschaften, Registerkarte "Sicherheit", Schaltfläche "Bearbeiten", Schaltfläche "Benutzer hinzufügen" Dann stelle ich .__

und die Schaltfläche "Namen überprüfen"

Es findet nichts Der Grund ist, dass es in meinem Fall auf pdgs.local location aussieht (Windows 2008 r2 iis 7) Sie müssen zum Formular "Benutzer oder Gruppen auswählen" gehen und auf die Schaltfläche Erweitert klicken Klicken Sie auf die Schaltfläche "Standorte" und sehen Sie eine bestimmte Hierarchie 

  • computername
  • Gesamtes Verzeichnis
    • pdgs.local

Wenn Sie also versuchen, einen Benutzer hinzuzufügen, wird der Suchname in pdgs.local ..__ angezeigt. Sie müssen Computername auswählen und auf OK klicken, Klicken Sie auf "Jetzt finden".

Suchen Sie nach der Spalte IIS_IUSRS in der Spalte Name (RDN), und klicken Sie auf OK. Wir kehren also zum Formular "Benutzer oder Gruppen auswählen" zurück, wobei neue und richtige Benutzer unterstrichen werden

klicken Sie auf OK, erlauben Sie die vollständige Kontrolle, und klicken Sie erneut auf OK.

Das ist alles Leute, Ich hoffe es hilft,

Jose aus Moralzarzal (Madrid)

0
JosefMadrid