Warnung:
Neuere Versionen von .Net und .Net Core haben "Code Access Security" (CAS) entfernt und / oder geändert, seit diese Frage gestellt wurde.
Ursprüngliche Frage:
Ich bin gerade dabei, für die Prüfung 70-536 .NET Framework - Application Development Foundation zu studieren , da ich .net seit vielen Jahren programmiere. Dies sollte nicht schwer sein!
Ich muss jedoch etwas über „Code Access Security“ (CAS) lernen. Da ich es nie verwenden oder konfigurieren musste, habe ich mich gefragt, ob jemand anderes eine echte Verwendung dafür gefunden hat.
Bitte geben Sie Beispiele dafür, wann Sie CAS verwendet haben und es eher Teil der Lösung als des Problems war.
(Bisher hatte alles andere eine Beziehung zu der Aufgabe, die ich in meinen Jahren der .NET-Programmierung zu erledigen hatte.)
Verwandte Fragen:
- Warum sollte CAS (Code Access Security) verwendet werden? - Abgesehen von der Verwendung durch Microsoft gibt es nur sehr wenige Beispiele aus der Praxis.
- Jemand, der Code Access Security wirklich verwendet, um seine Assemblys und / oder Methoden zu schützen?
- Was ist Codezugriffssicherheit in .NET - Definiert CAS gut, gibt aber keine wirklichen Beispiele.
- . NET Code Access Security: Nützlich oder einfach zu kompliziert?
Ergebnisse bisher.
CAS ist nützlich, wenn Sie Code von Drittanbietern hosten. Beispielsweise kann ein Webhosting-Unternehmen damit verhindern, dass der Asp.net-Code seines Kunden die Server beschädigt. (Office nutzt es auch, wenn .NET als Ersatz für VBA verwendet wird.)
Das einzige detaillierte Beispiel für die Verwendung außerhalb einer Microsoft-Anwendung ist:
In einem kürzlich von mir durchgeführten Projekt hatte ich etwas Ähnliches: Erlauben Sie dem Benutzer, eine Bibliothek hochzuladen und auf Leistung zu testen ("Wer macht den besten Algorithmus"). Unnötig zu erwähnen, dass wir dort dringend CAS brauchten.
CAS scheint nützlich zu sein, um eine JITDC-Zertifizierung zu erhalten, die vom US-Verteidigungsministerium stammt. Ich weiß jedoch nicht, ob CAS einen echten Wert hatte oder ob es sich nur um ein Kästchen handelte.
(Wenn Sie einen Host umgehen müssen, der CAS verwendet, und auf diesem Computer Administratorrechte haben, können Sie Ihre Assemblys einfach in den GAC einfügen.)
Mit Blick auf die Zukunft ist CAS in .net 4 etwas weniger komplex .
Zumindest sieht es so aus, als würden die neuen Microsoft-Prüfungen keine "Grund" -Prüfung haben, die CAS enthält. Ich weiß nicht, ob es in die neuen Winforms / WPF-Prüfungen kommt.