vrijdag, juli 13, 2007

Microsoft .NET 2.0 Code Access Security (2)

Spannend wordt het bijvoorbeeld als de user control het lokale bestandssysteem moet kunnen raadplegen.

Nou heb ik een beetje gekeken naar het Code Access Security model, en het is verdraaid gedetailleerd. Je kunt in principe op assembly-niveau aangeven wat deze assembly mag.

Een paar mooie artikelen die mij op weg hebben geholpen:

Klaarblijkelijk is het realiseren van een client-side user control nog steeds actueel!

Stap 1 is om je user control ├╝berhaupt aan de praat te krijgen in de IEHost container. Dan is het erg makkelijk als je weet dat IEHost een debug log kan wegschrijven, zie dus KB313892.

Zodra de user control eenmaal wordt gerenderd in Internet Explorer en je krijgt een security permission exception, dan is het prettig als je weet welke permissie je control precies moet krijgen. De uitgebreide exception tekst helpt je hier helaas niet bij!

Hoe achterhaal je dan de precieze gewenste permissie dan wel? Na wat googlen kwam ik de volgende blog tegen: stackenbloggen - "getting root on the managed world"; de bijdrage van 12 april 2007: CAS Tools & Best Practices. Hij schrijft over een toolset die hij heeft gemaakt in de context van een project die je mag downloaden. Helaas werkt de download-link niet.

Ik zit dus nog steeds met mijn handen in het haar, wat wil mijn control nou precies?

Omwille van desinteresse en tijdgebrek heb ik besloten om mijn control Full Trust te geven. Sssst, niet doorvertellen...

Wat ook een teleurstelling is, de gebruiker krijgt niet zoals bij een ActiveX control een mooie dialoog waarmee hij de control de rechten kan toekennen!

In de volgende blog meer.

Geen opmerkingen: