Laden...

IIS verweigert meiner ASP.NET App Dateischreibrecht

Erstellt von assi vor 17 Jahren Letzter Beitrag vor 17 Jahren 10.936 Views
assi Themenstarter:in
114 Beiträge seit 2006
vor 17 Jahren
IIS verweigert meiner ASP.NET App Dateischreibrecht

Hiho, ich steh hie gerade wie der Ochse vorm Berg und das Problem ist wahrscheinlich mit zwei Mausklicks behoben:

Ich arbeite z.Z. an einer Webanwendung die als Frontend einen Webauftritt und als Backend in einem Loginbereich ein kleines Contentmangamentsystem hat.
Im Backend gibt es einen Editor mit der User HTML Dateien bearbeiten und erzeugen kann (also Datei auslesen, in WYSIWYG-Fenster klatschen und zurück in die Datei schreiben). Der ganze Codeshizzel tut lokal auf meinem ASP.Net Development Server auch brav was er soll.

Spiele ich das ganze aber in den IIS von meinem WinXP-Prof verweigert er das Schreibrecht auf jede HTML Datei:

Serverfehler in der Anwendung /.
--------------------------------------------------------------------------------

Der Zugriff auf den Pfad C:\Inetpub\wwwroot\betreuung.html wurde verweigert. 
Beschreibung: Unbehandelte Ausnahme beim Ausführen der aktuellen Webanforderung. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde. 

Ausnahmedetails: System.UnauthorizedAccessException: Der Zugriff auf den Pfad C:\Inetpub\wwwroot\betreuung.html wurde verweigert. 

ASP.NET darf auf die angeforderte Ressource nicht zugreifen. Gewähren Sie der ASP.NET-Anforderungsidentität Zugriffsrechte für die Ressource. ASP.NET hat eine Standardprozessidentität (gewöhnlich {MACHINE}\ASPNET unter IIS 5 bzw. Network Service unter IIS 6), die verwendet wird, wenn die Anwendung keinen Identitätswechsel ausführen kann. Wenn die Anwendung über <identity impersonate="true"/> einen Identitätswechsel ausführen kann, wird als Identität gewöhnlich der anonyme Benutzer (normalerweise IUSR_MACHINENAME) bzw. der authentifizierte Anfragebenutzer verwendet. 

Um ASP.NET Zugriff auf eine Datei zu gewähren, klicken Sie im Explorer mit der rechten Maustaste auf die Datei, wählen "Eigenschaften" und anschließend die Registerkarte "Sicherheit". Klicken Sie auf "Hinzufügen", um den entsprechenden Benutzer bzw. eine Gruppe hinzuzufügen. Markieren Sie das ASP.NET-Konto, und aktivieren Sie jeweils das Kontrollkästchen für den gewünschten Zugriff.

Quellfehler: 


Zeile 64:         strPfad = Request.PhysicalApplicationPath & "\" & Session.Item("edit").ToString()
Zeile 65:         Dim html = ftb_editfenster.Text.Normalize()
Zeile 66:         File.WriteAllText(strPfad, html)
Zeile 67:     End Sub
Zeile 68: End Class
 

Quelldatei: C:\Inetpub\wwwroot\editor.aspx.vb    Zeile: 66 

Stapelüberwachung: 


[UnauthorizedAccessException: Der Zugriff auf den Pfad C:\Inetpub\wwwroot\betreuung.html wurde verweigert.]
   System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +2014707
   System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) +998
   System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) +115
   System.IO.StreamWriter.CreateFile(String path, Boolean append) +58
   System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize) +91
   System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding) +29
   System.IO.File.WriteAllText(String path, String contents, Encoding encoding) +48
   System.IO.File.WriteAllText(String path, String contents) +20
   editor.bt_save_Click(Object sender, EventArgs e) in C:\Inetpub\wwwroot\editor.aspx.vb:66
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102

 


--------------------------------------------------------------------------------
Versionsinformationen: Microsoft .NET Framework-Version:2.0.50727.42; ASP.NET-Version:2.0.50727.42 

"ASP.NET darf auf die angeforderte Ressource nicht zugreifen. Gewähren Sie der ASP.NET-Anforderungsidentität Zugriffsrechte für die Ressource."

Das ist im Prinzip ne klare Aussage, nur stehe ich total auf dem Schlauch wo ich das machen kann.

hoffe ihr könnt mir helfen 🙂
thx

And in addition to the darkness there was also me.
And I moved upon the face of the darkness and I saw that I was alone.
Let There Be Light!

3.170 Beiträge seit 2006
vor 17 Jahren

Hallo,
in Deinem System gibt es nach der Installation von .NET-Framework einen Benutzer namens ASPNET
Der braucht fanz normal Dateisystemschreibrechte auf den Odnern/Dateien auf die Du zugreifen willst.

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

assi Themenstarter:in
114 Beiträge seit 2006
vor 17 Jahren

hmmm und wenn da kein Benutzer namens ASP.NET ist? 🙂

And in addition to the darkness there was also me.
And I moved upon the face of the darkness and I saw that I was alone.
Let There Be Light!

3.170 Beiträge seit 2006
vor 17 Jahren

Der Benutzer heißt "ASPNET" nicht "ASP.NET", also ohne "."
Guck mal in der Computerverwaltung unter "Lokale Benutzer und Gruppen", da muß der drinstehen. Wenn nicht ist irgendwas krumm auf der Kiste.

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

assi Themenstarter:in
114 Beiträge seit 2006
vor 17 Jahren

Argh ich Spaten hab an der falschen Stelle gesucht selfslap

Es geht! Thx 😁

And in addition to the darkness there was also me.
And I moved upon the face of the darkness and I saw that I was alone.
Let There Be Light!