Rechtevergabe für .NET-Programme im Intranet
-
Hiho,
bin gestern erstmalig über eine Sache gestolpert, für die ich noch keine saubere Lösung weiß:
Mein Programm braucht eine
[[assembly:FileIOPermission(SecurityAction.RequestMinimum, Unrestricted = true)]
damit es seine Aufgabe erledigen kann. Soweit kein Problem, wenn ich die Exe von meinem lokalen Rechner starte.
Nun lege ich aber die Exe auf ein Serververzeichnis, wodurch es in die Sicherheitszone "Intranet" wechselt. Starte ich das Programm nun, wirft es zu Beginn eine Security-Exception (was ja auch ok ist).
Darauf füge ich das Programm mit dem .NET-Assistenten (Systemsteuerung|Verwaltung|Microsoft .NET Framework-Assistenten) über eine Laufzeitsicherheitsrichtlinie so hinzu, daß es Vollzugriff auf das Laufwerk hat.
Alles kein Problem soweit.
Mich würden aber nun zwei Dinge interessieren:
-
ich kann die notwendigen Rechte doch auch in XML-Form notieren, aber wie muß die XML-Datei dafür aussehen?
-
wenn ich nun die Exe neu erstelle, gelten die Rechte nicht mehr (logisch, da sich der Hash ändert). Ich will aber, daß die Rechte erhalten bleiben, auch wenn ich eine neue Exe auf den Server lege.
Wie kann ich das tun? Ich will auch nicht global das gesamte Intranet freischalten, das wäre zuviel des Guten. Kann ich z.B. bestimmte Verzeichnisse trusted machen? Oder die gesamte Entwicklungslinie meiner Exe (also auch künftige Versionen) pauschal freischalten?
-