Share via


Demande d'autorisations encodées en XML

Remarque importanteImportant

Dans le .NET Framework version 4, la prise en charge du runtime a été supprimée pour les demandes d'autorisation RequestMinimum, RequestOptional et RequestRefuse.Cette rubrique ne s'applique pas au code basé sur le .NET Framework 4 ou version ultérieure.Pour plus d'informations sur cette modification et d'autres modifications, consultez Modifications de sécurité dans le .NET Framework 4 .

Si vous demandez un jeu d'autorisations personnalisé (à l'aide de RequestMinimum, RequestOptional ou RequestRefuse), vous pouvez utiliser une représentation XML du jeu d'autorisations souhaité de deux façons : vous pouvez passer une chaîne qui contient le jeu d'autorisations encodé en XML en cours ou fournir l'emplacement d'un fichier XML contenant le jeu d'autorisations encodé. L'exemple suivant utilise XML avec PermissionSetAttribute. L'indicateur XML est une chaîne contenant un jeu d'autorisations encodé en XML qui, dans ce cas, représente un UIPermission et un RegistryPermission illimités.

Exemple

'The attribute is placed at the assembly level.
Imports System
Imports System.Runtime.InteropServices
Imports System.Security.Permissions
<assembly: PermissionSetAttribute(SecurityAction.RequestMinimum, XML := "<PermissionSet class=""System.Security.PermissionSet"" version=""1""><Permission class=""System.Security.Permissions.UIPermission, mscorlib"" version=""1""><AllWindows/></Permission><Permission class=""System.Security.Permissions.RegistryPermission, mscorlib"" version=""1""><Unrestricted/></Permission></PermissionSet>")>
Namespace MyNamespace
   Public Class MyClass1
      Public Sub New()
      End Sub

      Public Sub MyMethod()
         'Perform user interface operations here.
      End Sub
   End Class
End Namespace
//The attribute is placed at the assembly level.
using System.Security.Permissions;
[assembly:PermissionSetAttribute(SecurityAction.RequestMinimum, XML="<PermissionSet class=\"System.Security.PermissionSet\" version=\"1\"><Permission class=\"System.Security.Permissions.UIPermission, mscorlib\" version=\"1\"><AllWindows/></Permission><Permission class=\"System.Security.Permissions.RegistryPermission, mscorlib\" version=\"1\"><Unrestricted/></Permission></PermissionSet>")]
namespace MyNamespace 
{
   using System;
   using System.Runtime.InteropServices;
   public class MyClass 
   {
      public MyClass() 
      {
      }
      public void MyMethod() 
      {
        //Perform user interface operations here.
      }
   }
}

L'exemple suivant illustre une demande pour un jeu d'autorisations personnalisé en fournissant l'emplacement et le nom du fichier qui contient le même jeu d'autorisations encodé en XML. Si vous ne spécifiez pas l'emplacement de votre fichier XML, le runtime le cherche dans le même répertoire que celui de l'application.

Imports System
Imports System.Runtime.InteropServices
Imports System.Security.Permissions
'The attribute is placed at the assembly level.
<assembly: PermissionSetAttribute(SecurityAction.RequestMinimum, File := "pset.xml")>

Namespace MyNamespace
   Public Class MyClass1
      Public Sub New()
      End Sub 
      
      Public Sub MyMethod()
         'Perform operations that require permissions here.
      End Sub
   End Class
End Namespace
//The attribute is placed at the assembly level.
using System.Security.Permissions;
[assembly:PermissionSetAttribute(SecurityAction.RequestMinimum, File = "pset.xml")]
namespace MyNamespace 
{
   using System;
   using System.Runtime.InteropServices;
   
   public class MyClass 
   {
      public MyClass() 
      {
      }
      public void MyMethod() 
      {
          //Perform operations that require permissions here.
      }
   }
}

Création d'un jeu d'autorisations encodé en XML

Vous pouvez créer un encodage XML d'un jeu d'autorisations en créant une instance de PermissionSet, en ajoutant des instances des autorisations que vous souhaitez par rapport à l'objet puis en appelant la méthode ToXml pour retourner un objet SecurityElement qui représente l'encodage XML ou la méthode ToString pour retourner une représentation de type chaîne de l'encodage XML.

Voir aussi

Référence

PermissionSetAttribute

PermissionSet

Concepts

Demande d'autorisations

Métadonnées et composants autodescriptifs

Extension des métadonnées à l'aide des attributs

Sécurité d'accès du code