.NET implémente un modèle de sécurité appelé code access security. Le code non géré s'exécute avec les privilèges et les droits de l'utilisateur qui démarre l'application, même si le code provient de sources malveillantes.
Le code géré doit fournir preuve de son origine; Il existe plusieurs façons de le faire (par exemple, le code est signé avec une certaine clé, le code a été téléchargé à partir d'une certaine URL, le code vit dans un certain répertoire sur le disque, etc.). Sur la base de ces preuves, les assemblées sont regroupées en groupes pour lesquels des politiques sont appliquées. Une stratégie peut octroyer certaines autorisations à un groupe de code, principalement en termes d'accès aux ressources système (recherche DNS, ouverture de connexions réseau, accès à un "stockage isolé", accès au système de fichiers local (tous ou uniquement des répertoires sélectionnés), accès à le registre, l'accès aux partages réseau, etc.). Il y a un outil dans le panneau de contrôle qui vous permet de définir de telles politiques.
Lorsqu'un assembly tente d'effectuer une opération restreinte, une vérification de privilège est effectuée. Si l'accès est accordé, l'opération se poursuit. Si la vérification échoue, une exception est levée. La vérification implique généralement une traversée de pile (c'est-à-dire que tous les appelants doivent être approuvés pour cette opération), mais il existe des exceptions. Dans un cas particulier, il est possible d'affecter "Approbation totale" à un assemblage, en accordant toutes les autorisations. Bien que je n'aie pas entendu le terme «confiance partielle» auparavant, je suppose qu'il se réfère à des assemblées qui ont des droits, mais pas de confiance totale. S'il vous plaît comprenez qu'il s'agit juste d'une vue d'ensemble - il y a beaucoup plus à dire sur la sécurité d'accès au code.
Notez que même un assembly FullTrust est toujours contraint par la sécurité du système d'exploitation. Par exemple, si l'utilisateur Bob ne peut pas accéder au fichier Y, aucun assembly de confiance totale ne fonctionnera dans l'espace utilisateur de Bob. – RoadWarrior