CAS Fulltrust für Intranet

10/01/2008 - 13:37 von Jens Mander sein Bruder | Report spam
Hi!

Ich arbeite an einer Anwendung, deren Dateien auf einer Netzwerkfreigabe
liegen (Gemapptes Laufwerk Z: verweist auf einen Server-Pfad).

Beispielhaft soll folgender Code ausgeführt werden:
static void Main(string[] args) {
WebPermission wp = new WebPermission(PermissionState.Unrestricted);
if(SecurityManager.IsGranted(wp))
Console.WriteLine("WebPermission granted!");
else
Console.WriteLine("WebPermission not granted!");
}

Um in einer sauberen Umgebung zu testen, habe ich zunàchst mit
"caspol -a -reset" alle Sicherheitseinstellungen zurückgesetzt.

In der .NET Framework 2.0 Konfiguration habe ich den Berechtigungssatz für
die LocalIntranet_Zone auf FullTrust gesetzt. Ich erhalte immernoch
"WebPermission not granted!". Anschließend habe ich den Berechtigungssatz
für die Wurzelebene All_Code auf FullTrust gesetzt. Ich erhalte immernoch
"WebPermission not granted!".

Zu guter Letzt habe ich auch noch CAS ausgeschaltet mit "caspol -s off". Das
führt dazu, dass die Ausführung des Programms sofort scheitert ("Das
Programm funktioniert nicht mehr"). Eine Fehlermeldung wird dabei nicht
ausgegeben. Ein WriteLine("Hallo") vor obigem Code, wird vor dem Absturz
noch ausgegeben.

Meiner Meinung nach hàtte die Einstellung von FullTrust für die
LocalIntranet_Zone völlig ausreichen müssen, um meinen Assemblys auf allen
Network-Shares des Intranets Fulltrust einzuràumen. Ich verstehe nicht,
warum das nicht geschehen ist. Im Netz wird diese Frage zwar mehrfach
behandelt. Aber leider hören alle Antworten auf, bevor mein Problem
besprochen wurde.

Bin für jede Idee dankbar!

Viele Grüße
 

Lesen sie die antworten

#1 Kai Korla
10/01/2008 - 14:09 | Warnen spam
Hi,

WebPermission hat mit Deiner Sache nix am Hut. Ad-Hoc fàllt mir
ZoneIdentityPermission ein. Kann aber auch eine andere Klasse sein. Ich les
mal MSDN nach :-)

Grüße
Kai

"Jens Mander sein Bruder" schrieb im Newsbeitrag
news:47861191$0$25369$
Hi!

Ich arbeite an einer Anwendung, deren Dateien auf einer Netzwerkfreigabe
liegen (Gemapptes Laufwerk Z: verweist auf einen Server-Pfad).

Beispielhaft soll folgender Code ausgeführt werden:
static void Main(string[] args) {
WebPermission wp = new WebPermission(PermissionState.Unrestricted);
if(SecurityManager.IsGranted(wp))
Console.WriteLine("WebPermission granted!");
else
Console.WriteLine("WebPermission not granted!");
}

Um in einer sauberen Umgebung zu testen, habe ich zunàchst mit
"caspol -a -reset" alle Sicherheitseinstellungen zurückgesetzt.

In der .NET Framework 2.0 Konfiguration habe ich den Berechtigungssatz für
die LocalIntranet_Zone auf FullTrust gesetzt. Ich erhalte immernoch
"WebPermission not granted!". Anschließend habe ich den Berechtigungssatz
für die Wurzelebene All_Code auf FullTrust gesetzt. Ich erhalte immernoch
"WebPermission not granted!".

Zu guter Letzt habe ich auch noch CAS ausgeschaltet mit "caspol -s off".
Das führt dazu, dass die Ausführung des Programms sofort scheitert ("Das
Programm funktioniert nicht mehr"). Eine Fehlermeldung wird dabei nicht
ausgegeben. Ein WriteLine("Hallo") vor obigem Code, wird vor dem Absturz
noch ausgegeben.

Meiner Meinung nach hàtte die Einstellung von FullTrust für die
LocalIntranet_Zone völlig ausreichen müssen, um meinen Assemblys auf allen
Network-Shares des Intranets Fulltrust einzuràumen. Ich verstehe nicht,
warum das nicht geschehen ist. Im Netz wird diese Frage zwar mehrfach
behandelt. Aber leider hören alle Antworten auf, bevor mein Problem
besprochen wurde.

Bin für jede Idee dankbar!

Viele Grüße

Ähnliche fragen