Exporter (0) Imprimer
Développer tout
Développer Réduire

SecurityAction, énumération

Spécifie les actions de sécurité qui peuvent être effectuées en utilisant la sécurité déclarative.

Espace de noms : System.Security.Permissions
Assembly : mscorlib (dans mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum SecurityAction
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public enum SecurityAction
SerializableAttribute 
ComVisibleAttribute(true) 
public enum SecurityAction

 Nom de membreDescription
AssertLe code appelant peut accéder à la ressource identifiée par l'objet d'autorisation en cours, même si les appelants qui sont plus haut dans la pile n'ont pas reçu l'autorisation d'y accéder (consultez Utilisation de la méthode Assert). 
DemandTous les appelants qui sont plus haut dans la pile des appels doivent avoir reçu l'autorisation spécifiée par l'objet d'autorisation en cours (consultez Demandes de sécurité). 
DenyL'accès à la ressource spécifiée par l'objet d'autorisation en cours est refusé aux appelants, même s'ils ont reçu l'autorisation d'y accéder (consultez Utilisation de la méthode Deny). 
InheritanceDemandLa classe dérivée qui hérite de la classe ou qui substitue une méthode doit avoir reçu l'autorisation spécifiée. 
Pris en charge par le .NET Compact FrameworkLinkDemandL'appelant immédiat doit avoir reçu l'autorisation spécifiée. 

Pour plus d'informations sur la sécurité déclarative et les demandes de liaison, consultez Sécurité déclarative utilisée avec la portée de la classe et du membre.

PermitOnlySeules les ressources spécifiées par l'objet d'autorisation sont accessibles, même si le code a reçu la permission d'accéder aux autres ressources (consultez Utilisation de la méthode PermitOnly). 
RequestMinimumDemande des autorisations minimales pour que le code fonctionne. Cette action ne peut être utilisée que dans la portée de l'assembly. 
RequestOptionalDemande d'autorisations supplémentaires et facultatives (non requises pour le fonctionnement). Cette demande refuse implicitement toutes les autres autorisations qui ne sont pas spécifiquement demandées. Cette action ne peut être utilisée que dans la portée de l'assembly.  
RequestRefuseDemande pour que les autorisations qui peuvent être utilisées abusivement ne soient pas accordées au code appelant. Cette action ne peut être utilisée que dans la portée de l'assembly. 

Le tableau suivant répertorie l'heure à laquelle chacune des actions de sécurité a lieu et les cibles qu'elles prennent en charge.

Déclaration d'action de sécurité

Heure de l'action

Cibles prises en charge

LinkDemand

Compilation juste-à-temps

Classe, Méthode

InheritanceDemand

Temps de chargement

Classe, Méthode

Demand

Moment de l'exécution

Classe, Méthode

Assert

Moment de l'exécution

Classe, Méthode

Deny

Moment de l'exécution

Classe, Méthode

PermitOnly

Moment de l'exécution

Classe, Méthode

RequestMinimum

Moment de l'octroi des droits

Assembly

RequestOptional

Moment de l'octroi des droits

Assembly

RequestRefuse

Moment de l'octroi des droits

Assembly

Pour plus d'informations sur les cibles attributs, consultez Attribute.

Cet exemple décrit comment indiquer au CLR que le code de cet assembly requiert IsolatedStoragePermission et comment écrire et lire des données d'un stockage isolé.

using System;
using System.Security.Permissions;
using System.IO.IsolatedStorage;
using System.IO;

// Notify the CLR to grant this assembly the IsolatedStorageFilePermission. 
// This allows the assembly to work with storage files that are isolated 
// by user and assembly.
[assembly: IsolatedStorageFilePermission(SecurityAction.RequestMinimum, UsageAllowed = IsolatedStorageContainment.AssemblyIsolationByUser)]

public sealed class App
{
    static void Main()
    {
        // Attempt to create a storage file that is isolated by user and assembly.
        // IsolatedStorageFilePermission granted to the attribute at the top of this file 
        // allows CLR to load this assembly and execution of this statement.
        using (Stream s = new IsolatedStorageFileStream("AssemblyData", FileMode.Create, IsolatedStorageFile.GetUserStoreForAssembly()))
        {
         
             // Write some data out to the isolated file.
             using (StreamWriter sw = new StreamWriter(s))
             {
                sw.Write("This is some test data.");
             }
        }

        // Attempt to open the file that was previously created.
        using (Stream s = new IsolatedStorageFileStream("AssemblyData", FileMode.Open, IsolatedStorageFile.GetUserStoreForAssembly()))
        {
             // Read the data from the file and display it.
             using (StreamReader sr = new StreamReader(s))
             {
                 Console.WriteLine(sr.ReadLine());
             }
        }
    }
}

// This code produces the following output.
//
//  Some test data.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft