System.Security.SecurityException für System.Web.AspNetHostingPermission

Fehlermeldung

Heute habe ich nach dem Aktualisieren einer ASP.NET-3.5-Anwendung auf einem IIS7-Server folgende Fehlermeldung im Browser erhalten:

Serverfehler in der Anwendung /MyApplication.

Sicherheitsausnahme

Beschreibung: Die Anwendung hat versucht, einen Vorgang auszuführen, der von der Sicherheitsrichtlinie nicht zugelassen ist. Um der Anwendung die erforderliche Berechtigung zu erteilen, wenden Sie sich an den Systemadministrator oder ändern Sie die Vertrauensebene für die Anwendung in der Konfigurationsdatei.

Ausnahmedetails: System.Security.SecurityException: Fehler bei der Anforderung des Berechtigungstyps „System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089“.

Quellfehler:

Beim Ausführen der aktuellen Webanforderung wurde einen unbehandelte Ausnahme generiert. Informationen über den Ursprung und die Position der Ausnahme können mit der Ausnahmestapelüberwachung angezeigt werden.

Stapelüberwachung:

[SecurityException: Fehler bei der Anforderung des Berechtigungstyps „System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″.]
System.Reflection.Assembly._GetExportedTypes() +0
System.Reflection.Assembly.GetExportedTypes() +16
System.Web.Compilation.BuildResultMainCodeAssembly.FindAppInitializeMethod() +26
System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed) +882
System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories) +125
System.Web.Compilation.BuildManager.CompileCodeDirectories() +265
System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +320

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

Das war ein Schock!

Und auch noch auf einem Produktivserver eines Kunden. Fuck!

Workaround

Also gleich die zuvor gemachte Sicherheitskopie zurückgespielt, dann lief alles wieder.

Damit erst mal genug, während der Hauptnutzungszeit der Kunden keine weitere Experimente.

Analyse und Lösung

Heute Abend habe ich dann nach Gesprächen mit einem Kollegen eine Idee gehabt:

Es könnte ja sein, dass es beim Entpacken der neuen Dateien aus dem ZIP-Archiv mit dem ich diese auf den Server übertragen habe, ggf. die NTFS-Berechtigungen zerschossen/verbogen wurden.

Also habe ich nochmals die neuen Dateien in den Zielordner des Webserver kopiert und via Rechtsklick auf den Ordner, alle Sicherheitsberechtigungen auf die neu hineinkopierten Dateien und Ordner vererben lassen, besehende Berechtigungen ersetzen lassen.

Und siehe da: Die Anwendung funktioniert wieder wie gewünscht!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.