Oggi pomeriggio lo dedico tutto alla preparazione dell'esame quindi mano mano posto un pò di cose.
Allora ritorniamo alla CAS Declarations... ok ma che scriviamo?
Ad esempio in C#
[assembly:RegistryPermission(SecurityAction.RequestMinumun,Read=@"HKEY_LOCAL_MACHINE\Software")]
[assembly:FileIOPermissionAttibute(SecurityAction.RequestMinimun Read=@"C:\boot.ini")]
In sostanza i tipi di permessi dichiarativi degli assembly sono:
- SecurityAction.RequestMinimun (permessi che deve soddisfare per l'esecuzione se il nostro assembly non soddisfa questi viene lanciata un'eccezione)
- SecurityAction.RequestOptional (non abbiamo eccezione)
- SecurityAcrion.RequestRefuse (non abbiamo eccezione)
Vediamo un modo carino di utilizzare la SecurityAction
- [FileIOPermission(SecurityAction.Deny,All=@"C:\PostdiUgi\")]
- [WebPermission(SecurityAction.PermitOnly, ConnectPattern=@"http://www\.postdiugi\.it/.*)]
Secondo voi che succederà?
Comunque tutto questo è statico e se volessimo generare qualcosa dinamicamente come ad esempio l'indirizzo web? Occorre ritornare alle Imperatively Limit Permissios?
Quindi la seconda diventa
Regex connectPattern=new Regex(@"http://www\.postdiugi\.it/.*);
WebPermission webPerm=new WebPermission(NetworkAccess.Connect,connectPattern);
webPerm.PermitOnly();
...
A più tardi!