Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

.NET Programm über Netzlaufwerk ausführen

85 views
Skip to first unread message

Holger Foerster

unread,
Jul 17, 2003, 5:58:33 AM7/17/03
to
Hallo,

ich habe meine .NET Applikation in ein freigegebenes Laufwerk auf einem
Server kopiert. Ich möchte jetzt von meinen Rechner aus über ein
Netzlaufwerk diese Applikation ausführen.
Allerdings erscheint immer die Exception
"System.SystemSecurity.SecurityException: Anforderung des
Berichtigungstyps System.Security.Permissions.SecurityPermission ist
fehlgeschlagen"

Ich möchte die Applikation nur auf dem Server installieren, nicht auf
jeder Workstation.
Wie kann ich meine Applikation über ein Netzlaufwerk ausführen?

Danke,
Holger

Michael Schwarz

unread,
Jul 17, 2003, 6:14:26 AM7/17/03
to

"Holger Foerster" <HolgerF...@gmx.de> schrieb im Newsbeitrag
news:OWyiYnET...@tk2msftngp13.phx.gbl...

> Hallo,
>
> ich habe meine .NET Applikation in ein freigegebenes Laufwerk auf einem
> Server kopiert. Ich möchte jetzt von meinen Rechner aus über ein
> Netzlaufwerk diese Applikation ausführen.
> Allerdings erscheint immer die Exception
> "System.SystemSecurity.SecurityException: Anforderung des
> Berichtigungstyps System.Security.Permissions.SecurityPermission ist
> fehlgeschlagen"

Du musst für deine Freigabe eine Sicherheitsrichtlinie eintragen. Mit der
.NET Konfiguration kannst Du unter "Runtime Security Policy" Zonen anlegen.
Dort solltest Du eine neue Zone für genau dieses Netzwerklaufwerk anlegen,
oder die Intranet Zone abändern.

Ab .NET 1.1 sind glaube ich alle Zugriffe außerhalb des eigenen Rechners
verboten.

"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorcfg.msc"

CIAO
Michael

Holger Foerster

unread,
Jul 17, 2003, 7:05:39 AM7/17/03
to
Hallo Michael,

danke ersteinmal für die schnelle Antwort.

Wenn ich die Zonensicherheit für die Zone "lokales Intranet" erhöhe,
kann die Applikation gestartet werden.

Wie kann ich aber z.B. eine Zone nur für das Netzlaufwerk F: hinzufügen?
Die Applikation müsste lesenden und schreibenden Zugriff auf das
Netzlaufwerk haben.

Danke,
Holger

Michael Schwarz schrieb:

Michael Schwarz

unread,
Jul 17, 2003, 7:28:58 AM7/17/03
to

"Holger Foerster" <HolgerF...@gmx.de> schrieb im Newsbeitrag
news:%23Egl4MF...@tk2msftngp13.phx.gbl...

> Hallo Michael,
>
> danke ersteinmal für die schnelle Antwort.
>
> Wenn ich die Zonensicherheit für die Zone "lokales Intranet" erhöhe,
> kann die Applikation gestartet werden.
>
> Wie kann ich aber z.B. eine Zone nur für das Netzlaufwerk F: hinzufügen?
> Die Applikation müsste lesenden und schreibenden Zugriff auf das
> Netzlaufwerk haben.


Einfach ein neues "Permission Set" anlegen, einen Namen vergeben, und dann
bei "Assgn Individual Persmissions to Permission Set" das Recht "File IO"
auswhählen. Dort wirst Du dann nach dem Pfad und den jeweiligen Rechten
gefragt.

CIAO
Michael

Holger Foerster

unread,
Jul 17, 2003, 8:40:46 AM7/17/03
to
Danke Michael, so klappt's!


Ich habe auch noch einen anderen Weg gefunden:

1. Eine neue Codegruppe anlegen
2. Als Mitgliedschaftbedingung "URL" auswählen
3. Unter URL z.B. den Eintrag "file://F:/TMP/*" setzen um auf den Pfad
TMP des Netzlaufwerks F: zuzugreifen
4. Unter Berechtigungssatz z.B. "FullTrust" für vollen Zugriff eintragen

Gruss,

Michael Schwarz

unread,
Jul 17, 2003, 9:53:42 AM7/17/03
to

"Holger Foerster" <HolgerF...@gmx.de> schrieb im Newsbeitrag
news:OXr0BCGT...@TK2MSFTNGP12.phx.gbl...

> Danke Michael, so klappt's!

;)


> Ich habe auch noch einen anderen Weg gefunden:
>
> 1. Eine neue Codegruppe anlegen
> 2. Als Mitgliedschaftbedingung "URL" auswählen
> 3. Unter URL z.B. den Eintrag "file://F:/TMP/*" setzen um auf den Pfad
> TMP des Netzlaufwerks F: zuzugreifen
> 4. Unter Berechtigungssatz z.B. "FullTrust" für vollen Zugriff eintragen

Klar, viele Wege führen nach .NET!! Weiterhin viel Spaß...

CIAO
Michael

Neno Loje

unread,
Jul 17, 2003, 6:04:52 PM7/17/03
to
Hallo Holger,

ich würde Dir eher empfehlen statt der Mitgliedschaftsbedingung "URL" auf
einen Strong-Name-Key zurückzugreifen und Deine Assemblies mit diesem zu
signieren. Damit bist Du Dir auch sicher, dass es Deine Assemblies sind,
dass diese nicht verändert wurden und es spiel letztendlich auch keine Rolle
wie der genaue Pfad heißt (falls jemand direkt über
\\servername\odner\app.exe zugrift). Der Vorteil ist, dass Du nicht den .NET
Sicherheitsmechanismus mit "FullTrust" aushebelst, sondern nur den von Dir
authorisierten Programmen die uneingeschränkten Berechtigungen gibst.

Einen Strong-Name-Key kannst Du Dir mittels des Tools sn.exe und dem Aufruf
sn.exe -k MeinKey.snk erstellen. Das Tool kommt kostenlos mit dem .NET
Framework SDK mit. Wenn Du Visual Studio hast, wird dies normalerweise unter
C:\Programme\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin mitinstalliert.

Weitere Informationen über Strong-Names findet Du im Beispielkapitel
"Assemblies - Pakete einer .NET Anwendung" von Michael Willers, welches Du
unter http://www.devcoach.de/ downloaden kannst.

Schöne Grüße,

Neno Loje
www.dotnetpro.de

"Holger Foerster" <HolgerF...@gmx.de> schrieb im Newsbeitrag

news:OXr0BCGT...@TK2MSFTNGP12.phx.gbl...

Holger Foerster

unread,
Jul 18, 2003, 6:44:57 AM7/18/03
to
Hallo Neno,

danke für den Hinweis.
Es stimmt natürlich, dass über die Pfadfreigabe mit "FullTrust" der
Sicherheitsmechanismus von .NET ausgehebelt wird. Meine Assemblies sind
z.Zt. noch nicht mit einem Strong-Name-Key signiert. Das werde ich aber
in Zukunft ändern!

Gruss,
Holger


Neno Loje schrieb:

0 new messages