Gast BeowulfOF Geschrieben 17. Oktober 2007 Geschrieben 17. Oktober 2007 Hi zusammen, schön nach sehr langer Zeit mal wieder hier zu sein. Ich habe auch gleich eine Frage, die ans eingemachte geht. Managed Code wird vor der Ausführung in einem SecurityContext eingeteilt, welcher sich grob in die Bereiche einteilen lässt, welche man mit dem Befehl: caspol.exe -m -ld sehen kann. Für Code, welcher auf der lokalen Maschine liegt, bedeutet dies, dass er FullTrust bekommt. Wenn der Code aber nun übers Netzlaufwerk gestartet werden soll, dann wird dieser Code als not trusted eingestuft und somit nicht ausgeführt. Lösungen, welche ich im Netz dazu gefunden habe (allerdings alle für .NET 1.1) sagen, man soll den Code mit einem StrongName signieren und eine Policy für diesen StrongName angeben. Seltsamerweise hören alle diskussionen auf, sobald einer dieses Problem mit .NET 2.0 anspricht. Folgender Befehl gibt für den StrongName, mit dem die Assemblies signiert sind eine FullTrust Berechtigung. caspol -m -ag Intranet -strong -hex $STRONGNAME -noversion -noname FullTrust -name MyGroup So die Theorie, aber ich bekomme immer auf der Maschine einen Fehler von der System.Configuration.dll, dass auf diese nicht von "partially trusted" Assemblies drauf zugegriffen werden darf. Also scheint diese Zuordnung nicht zu stimmen. Ich habe es zum laufen gebracht, wenn ich eine Gruppe anlege mit dem Befehl: caspol -m -ag All_Code -allcode FullTrust -name MyGroup Allerdings erlaubt dieses auch jeglichen ManagedCode von jeglichen Quellen mit FullTrust zu laufen. Hat jemand ähnliche Erfahrungen gemacht? Kann mir jemand sagen, was ich falsch verstehe, oder falsch mache? Dank im Vorraus BeowulfOF Zitieren
Trux Geschrieben 17. Oktober 2007 Geschrieben 17. Oktober 2007 Guckst du Projekteigenschaften -> Sicherheit: Check "CliockOne-Sicherheitseinstellungen aktivieren" und => Voll Vertrauenswürdiege Anwendung denn sollte das laufen Zitieren
Gast BeowulfOF Geschrieben 18. Oktober 2007 Geschrieben 18. Oktober 2007 Danke für den Hinweis. Wie wird der Trust bestimmt, den die Anwendung dann letztlich auf dem Zielsystem bekommt? Auf welcher Grundlage entscheidet das Framework, dass diese Anwendung FullTrust hat? Nur aufgrund dessen, dass die Anwendung dies sagt? Zitieren
Gast BeowulfOF Geschrieben 18. Oktober 2007 Geschrieben 18. Oktober 2007 Ok, habs ausprobiert, und es ändert nichts. Die App ist nach ClickOnce als FullTrust konfiguriert, bekommt aber logischerweise dadurch nicht mehr Rechte auf dem Zielsystem. Sie verlangt halt nur danach. Mittels Caspol.exe den StrongName nen FullTrust zuweisen ändert nur Teilweise etwas, es kommt dann erstmal ne Fehlermeldung, dass er keine Permissions für die UI bekommt. Bleibt wieder nur der Ausweg den Netzwerkpfad als Full-Trust auszulegen. Noch jemand ne Idee? Zitieren
Majestix Geschrieben 18. Oktober 2007 Geschrieben 18. Oktober 2007 hi also bei 1.1 ist folgendes nötig um code aus dem intranet (netzwerk) auzuführen: start -> all programs -> control panel -> Administrative Tools und dort "Microsoft .NET Framework 1.1 Wizards" starten. In dem Tool kannst du dann die Securtiy für das Intranet hochziehen. Aber ob es sowas bei 2.0 gibt, weiß ich leider nicht. sorry Zitieren
Gast BeowulfOF Geschrieben 18. Oktober 2007 Geschrieben 18. Oktober 2007 Ja, die Config-Tools gibt es bei 2.0 auch, werden allerdings erst mit dem Windows-SDK installiert. Dafür kann man die Berechtigungen konfigurieren uns als MSI exportieren, welches aber auch sämtliche Einstellungen des Zielsystems überschreibt. Es macht aber auch nichts anderes als die caspol.exe, dementsprechend hilft mir das auch nicht weiter. :-/ Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.