Ich habe gerade über diese article über Code Access Security gelesen. Es hat ein solches Beispiel darin:Code Access Security ist ein Witz?
using System.Security.Permissions;
public class MyFileAccessor
{
public MyFileAccessor(String path, bool readOnly)
{
path = MakeFullPath(path); // helper fcn
FileIOPermissionAccess desiredAccess = readOnly
? FileIOPermissionAccess.Read
: FileIOPermissionAccess.AllAccess;
FileIOPermission p = new FileIOPermission(desiredAccess, path);
p.Demand();
//
•••
open the file
}
// •••
}
Was passiert, wenn ich nicht die ganze FileIOPermissionAccess Typ und nie includ Code wie p.Demand() in meinem Code verwendet haben? Mit anderen Worten, Wenn ich etwas Schlechtes tun möchte, warum sollte ich mich darum kümmern, die Erlaubnis dafür zu verlangen? Ist es nicht ein Scherz? Oder habe ich es falsch verstanden?
Danke für Ihre klare Antwort. Der Punkt ist also - um das * Missbrauch * meines Codes zu verhindern, sollte ich einen bestimmten CAS-Code in meine Komponente/Funktion aufnehmen, um CAS-Regeln durchzusetzen. – smwikipedia
Grob. Nicht so sicher, das Wort "missbrauchen" ist angemessen, wenn Sie eine Möglichkeit für Code bieten, die normale CAS-Prüfung zu umgehen, die in das Framework eingebaut ist, dann müssen Sie die Verantwortung übernehmen, um sie selbst durchzusetzen. –