Share via


Détermination des autorisations accordées

Remarque importanteImportant

Dans le .NET Framework version 4, le common language runtime (CLR) cesse de fournir des stratégies de sécurité pour les ordinateurs.Microsoft recommande l'utilisation des stratégies de restriction logicielles Windows à la place de la stratégie de sécurité CLR.Les informations contenues dans cette rubrique s'appliquent au .NET Framework versions 3.5 et antérieures ; elles ne s'appliquent pas aux versions 4 et ultérieures.Pour plus d'informations sur cette modification et d'autres modifications, consultez Modifications de sécurité dans le .NET Framework 4.

Pour les domaines d'application, le jeu d'autorisations accordées est simplement le jeu d'autorisations permises.

Pour les assemblys, le Common Language Runtime prend en considération d'autres facteurs lors du chargement de l'assembly pour déterminer le jeu d'autorisations accordées. Un assembly peut contenir des demandes de sécurité déclaratives spécifiant les autorisations que le code requiert ou souhaite avoir. Le tableau suivant décrit les jeux d'autorisations que le code peut demander.

Jeu d'autorisations

Description

Obligatoire

Spécifie le jeu d'autorisations minimum dont le code a besoin pour s'exécuter.

Facultatif

Identifie les autorisations que le code souhaite avoir en plus du jeu minimum. Cela entraîne le refus implicite de toutes les autorisations qui ne sont pas identifiées dans le jeu minimal ou le jeu optionnel.

Refusé

Spécifie les autorisations qui ne doivent jamais être accordées au code.

Si les trois demandes d'autorisations sont absentes, l'assembly reçoit simplement le jeu d'autorisations permis par la stratégie. Cependant, si au moins une des trois demandes d'autorisations est présente, le runtime prend en considération les autorisations demandées en appliquant le processus suivant :

  1. Le runtime calcule les autorisations permises pour l'assembly et s'assure que celui-ci est autorisé à exécuter. Si l'autorisation d'exécution n'est pas présente, le runtime lève une PolicyException et le code n'est pas autorisé à s'exécuter.

  2. Le runtime détermine si le jeu des autorisations requises est un sous-ensemble du jeu d'autorisations permises. Sinon, le runtime lève une exception PolicyException et le code n'est pas autorisé à s'exécuter.

  3. Le runtime recoupe les autorisations facultatives demandées avec le jeu d'autorisations permises. Si des autorisations optionnelles ne sont pas demandées, le PermissionSet optionnel est supposé être FullTrust.

  4. Le runtime unit le résultat de l'étape 3 aux autorisations minimales demandées.

  5. Finalement, le runtime soustrait le résultat de l'étape 4 de toutes les autorisations éventuellement refusées.

Voir aussi

Référence

PolicyException

Autres ressources

Gestion de la stratégie de sécurité