Ho appena letto su questo article su Code Access Security. Ha un tale esempio in esso:Code Access Security è uno scherzo?
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
}
// •••
}
Che cosa succede se non ho usato il tipo FileIOPermissionAccess e mai INCLUD codice come p.Demand() nel mio codice a tutti? In altre parole, se voglio fare qualcosa di male, perché dovrei preoccuparmi di chiedere il permesso per questo? Non è uno scherzo? O ho sbagliato?
Grazie per la tua chiara risposta. Quindi il punto è che, per evitare il * abuso * del mio codice, dovrei includere determinati codici CAS nel mio componente/funzione per far rispettare le regole CAS. – smwikipedia
Approssimativamente. Non è così sicuro che la parola "abusare" sia appropriata, se offri un modo per il codice di aggirare il normale controllo CAS incorporato nel framework, allora, sì, devi assumerti la responsabilità di applicarlo da solo. –