Laden...

ASP.NET in IIS 'anmelden'

Erstellt von CoderboyPB vor 11 Jahren Letzter Beitrag vor 11 Jahren 9.399 Views
C
CoderboyPB Themenstarter:in
327 Beiträge seit 2008
vor 11 Jahren
ASP.NET in IIS 'anmelden'

Ich hoffe, ich poste hier richtig.

Folgendes Problem:
Ich habe gerade mit Hilfe dieses Videos hier (http://www.youtube.com/watch?v=SZ2oKEnTh1s) IIS unter Windows 8 installiert.

Anschließend habe ich im IIS Manager (inetmgr) eine Anwendung mit einem virtuellen Verzeichnis hinzugefügt. Das Mapping passt, dessen habe ich mich mehrfach versichert.

Doch wenn ich es starten will (mal abgesehen davon, dass ich den 'Browse' Eintrag wie im Video gar nicht bekomme) bekomme ich folgende Fehlermeldung:

Die Konfigurationsdatei kann aufgrund unzureichender Berechtigungen nicht gelesen werden.

OK, der Fall ist klar. Da fehlen irgendwelche Leseberechtigungen für die Web.config, nur warum, und WIE erteile ich die?
Sorry, aber der Systemintegrationsbereich war nie der Meinige, hier war ich immer von den Admins abhängig. Ist nicht gut, weiß ich selber, aber es so wie andere eine Lese- oder Rechenschwäche haben, habe ich die auf diesem Gebiet ...

Also meine Frage, was muss ich AUSSERDEM noch machen, was ich bisher noch NICHT gemacht habe? 😃

16.806 Beiträge seit 2008
vor 11 Jahren

Folgendes Vorgehen wird normalerweise befolgt:

  • Anwendung in C:\inetpub\wwwroot<domain>\httpdocs kopieren ((so macht es auch zB Plesk, man kann auch einen anderen Ordner wählen)
  • Dann entweder eine eigene Site oder eine Application erstellen.
    Sites sind normalerweise der Root einer Domain, daher sollte auch das Binding auf domain.com:80 gesetzt werden. Anwendungen sind quasi Unterordner einer Seite; also domain.com/<Anwendungsname>
  • Nun auf Application Pools klicken, und einen eigenen ApplicationPool erstellen ((.NET Version korrekt setzen! Ebenso einen Account hinterlegen, mit dem die Anwendung laufen soll! Man verwendet den Standard User vom IIS eigentlich _nicht _mehr!)
  • Dem Verzeichnis der Anwendung (C:\inetpub\wwwroot&lt;domain>\httpdocs) die nötigen Rechte mit dem im AppPool hinterlegten Account versehen
  • Der Site/Anwendungen in den erweiterten Einstellungen den AppPool hinterlegen
  • Site/Parent Site neu starten
C
CoderboyPB Themenstarter:in
327 Beiträge seit 2008
vor 11 Jahren

Danke. Das muss ich in einer ruhigen Stunde mal ausprobieren 😃

D
27 Beiträge seit 2009
vor 11 Jahren

@Abt: Ebenso einen Account hinterlegen, mit dem die Anwendung laufen soll! Man verwendet den Standard User vom IIS eigentlich nicht mehr!)

Meinst du damit die ApplicationPoolIdentity ?

Wir haben aktuell das Problem mit der Einrichtung der Site unter Windows 8 / Windows Server 2012. Die Seite wirft ein 403.14 wenn ich einen eigenen ApplicationPool mit der ApplicationPoolIdentity habe. Wenn ich dagegen den DefaultAppPool auswähle oder die Identity beim eigenen AppPool auf LocalSystem bzw. auf einen anderen User mit ausreichend Rechten setze geht alles.
Was mich wundert ist, dass es mit dem DefaultAppPool geht, obwohl dieser in den Einstellungen auch die ApplicationPoolIdentity hat. Ich habe auch schon per ICACLS dem eigenen AppPool alle Rechte gegeben, aber ohne Erfolg.

Alles bis Windows 7 funktioniert. Wenn da ein 403.14 kommt fehlt meist die Registierung von ASP.net also "aspnet_regiis -ir". aspnet_regiis funktioniert aber ab Windows 8 nicht mehr.

Die Googlesuche brachte mich nicht weiter, von daher meine Frage, ob jemand weiß woran das liegt, dass die Seite mit eigenem AppPool und der ApplicationPoolIdentity nicht mehr funktioniert ?

16.806 Beiträge seit 2008
vor 11 Jahren

Meinst du damit die ApplicationPoolIdentity ?

Wir haben aktuell das Problem mit der Einrichtung der Site unter Windows 8 / Windows Server 2012. Die Seite wirft ein 403.14 wenn ich einen eigenen ApplicationPool mit der ApplicationPoolIdentity habe.

Gerade den User nicht verwenden.

Leg einfach einen eigenen User für die Anwendung an. Gib dem die vollen Rechte direkt auf den App-Ordner und hinterleg diesen User in einem eigenen AppPool.
Dann gehts auch 😉

D
27 Beiträge seit 2009
vor 11 Jahren

Vielen Dank für die Antwort.

Spricht eigentlich irgendwas dagegen im eigenen AppPool die Identity auf "LocalSystem "zu setzen ?

16.806 Beiträge seit 2008
vor 11 Jahren

Ja, zB die Systemsicherheit.

D
27 Beiträge seit 2009
vor 11 Jahren

Ich habe nun noch herausgefunden, weshalb wir unter Windows 8 und Windows Server 2012 die Probleme mit dem eigenen AppPool und der ApplicationPoolIdentity haben.

In unserer Anwendung schreiben wir Tracefiles in ein bestimmtes Verzeichnis. Im Gegensatz zu Windows 7 hat die ApplicationPoolIdentity kein Schreibrecht in unserem Logverzeichnis. Durch hinzufügen von IIS_IUSRS mit Schreibrechten auf unser Logverzeichnis funktioniert nun alles unter Windows 8 / 2012, so wie unter Windows 7.

Ist nur sehr ungünstig, warum man dem User diesen Fehler mit "403.14 - Forbidden
The Web server is configured to not list the contents of this directory" mitteilt. Mit einer besseren Fehlerbeschreibung hätte man eine Menge Zeit gespart.

mfg

16.806 Beiträge seit 2008
vor 11 Jahren

.. oder wenn man einfach genau das macht, was MS empfiehlt: eigener User pro Anwendung und dann die Rechte vergeben.
Aber manche sind beratungsresistent 😉