travail I a écrit le code suivant pour tester la CAS:Question sur le paradigme du code d'accès de sécurité (CAS)
[SecurityPermission(SecurityAction.Demand,Flags=SecurityPermissionFlag.Execution)]
static void Main(string[] args)
{
Console.WriteLine("hello, world!");
}
Dans la configuration .NET 2.0, j'utilise le nom fort de l'assemblage ci-dessus pour créer un groupe de codes et donnez au groupe Nothing ensemble d'autorisations. L'assemblage n'a donc pas pu démarrer comme prévu.
Mais je remarquai que si je retire l'attribut suivant:
[SecurityPermission(SecurityAction.Demand,Flags=SecurityPermissionFlag.Execution)]
Le programme n'a pas démarré encore. Alors quel est le point de ce soi-disant sécurité déclarative avec attribut?
J'ai lu plusieurs tutoriels sur CAS, ils utilisent la sécurité impérative/déclarative pour utiliser le CAS. Mais à partir de l'exemple ci-dessus, cela ne semble pas nécessaire.
Si je délibérément écrire du code sans sécurité impérative/déclarative et ne fournissez aucune preuve pour mon assemblage, CAS serait aveugle pour appliquer toute politique de sécurité? Ou est-ce que je ne comprends pas comment CAS devrait être utilisé?
Merci.