Acabo de leer acerca de esto article sobre Code Access Security. Tiene un ejemplo en el que:Code Access Security es una broma?
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
}
// •••
}
¿Qué pasa si yo no uso la FileIOPermissionAccess tipo y nunca Includ código como p.Demand() en mi código en absoluto? En otras palabras, si quiero hacer algo malo, ¿por qué debería molestarme en pedir permiso para eso? ¿No es una especie de broma? O lo tomé mal?
Gracias por tu clara respuesta. Entonces, el punto es que para evitar el * abuso * de mi código, debería incluir cierto código CAS en mi componente/función para hacer cumplir las reglas de CAS. – smwikipedia
Aproximadamente. No estoy tan seguro de que la palabra "abuso" sea apropiada, si proporciona una forma para que el código pase por alto la comprobación CAS normal incorporada en el marco, entonces, sí, tiene que asumir la responsabilidad de aplicarlo usted mismo. –