Voglio richiamare un assembly personalizzato che utilizza servizi protetti (come DirectoryServices, ecc.) con servizi di reporting. Sul web, vedo un esempio ricorrente di configurazione (ispirato a questo articolo ) per fare proprio questo. Eccolo
<CodeGroup
class="UnionCodeGroup"
version="1"
Name="SecurityExtensionCodeGroup"
Description="Code group for the sample security extension"
PermissionSetName="FullTrust">
<IMembershipCondition
class="UrlMembershipCondition"
version="1"
Url="'installation folder'\Common7\IDE\PrivateAssemblies\MyCustomAssembly.dll" />...
Ora, qualcosa non sembra giusto . Non so molto di CAS, ma mi sembra che la configurazione di cui sopra sia rischiosa. L'assembly personalizzato non sembra essere firmato e sto pensando che potrebbe essere possibile per un utente malintenzionato sostituirlo con qualsiasi assembly dannoso o uno sviluppatore distratto su MyCustomAssembly per devastare il sistema, anche involontariamente (FullTrust). / p>
La configurazione sopra è sicura nella produzione? In caso contrario, quali sono i rischi e come possiamo fare ciò che sto cercando di fare in modo sicuro ? Sto pensando a cose come usare Assert nell'assembly personalizzato e concedergli solo le autorizzazioni necessarie, dando all'assembly un nome sicuro, ecc ... ma non sono sicuro di come farlo ...