Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

SecurityAction (Enumeración)

Especifica las acciones de seguridad que se pueden realizar mediante seguridad declarativa.

Espacio de nombres: System.Security.Permissions
Ensamblado: mscorlib (en mscorlib.dll)

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

 Nombre de miembroDescripción
AssertEl código de llamada puede tener acceso al recurso identificado por el objeto de permiso actual, incluso si los llamadores que se encuentran en la parte superior de la pila no tienen permiso de acceso al recurso (vea Utilizar el método Assert). 
DemandTodos los llamadores que estén situados más arriba en la pila de llamadas deben tener el permiso especificado por el objeto de permiso actual (vea Peticiones de seguridad). 
DenyA los llamadores se les niega la posibilidad de tener acceso al recurso especificado por el objeto de permiso actual, aunque se les haya concedido permiso de acceso a éste (vea Utilizar el método Deny). 
InheritanceDemandLa clase derivada que hereda la clase o que reemplaza un método debe tener el permiso especificado. 
Compatible con .NET Compact FrameworkLinkDemandEl llamador inmediato debe tener el permiso especificado. 

Para obtener más información sobre la seguridad declarativa y la petición de vínculos, vea Seguridad declarativa utilizada con ámbito de clase y miembro.

PermitOnlySólo se puede tener acceso a los recursos especificados por este objeto de permiso, aunque se haya concedido al código permiso de acceso a otros recursos (vea Utilizar el método PermitOnly). 
RequestMinimumSolicitud de los permisos mínimos necesarios para ejecutar el código. Esta acción sólo puede utilizarse dentro del ámbito del ensamblado. 
RequestOptionalSolicitud de otros permisos opcionales (no necesarios para la ejecución). Esta solicitud rechaza implícitamente todos los demás permisos no solicitados específicamente. Esta acción sólo puede utilizarse dentro del ámbito del ensamblado.  
RequestRefuseSolicitud de que los permisos que pudieran recibir un mal uso no se concedan al código de llamada. Esta acción sólo puede utilizarse dentro del ámbito del ensamblado. 

En la tabla siguiente se describe el momento en que se produce cada una de las acciones de seguridad y los destinos que admite cada una.

Declaración de acción de seguridad

Momento de acción

Destinos admitidos

LinkDemand

Compilación Just-in-time

Clase, Método

InheritanceDemand

Tiempo de carga

Clase, Método

Demand

Tiempo de ejecución

Clase, Método

Assert

Tiempo de ejecución

Clase, Método

Deny

Tiempo de ejecución

Clase, Método

PermitOnly

Tiempo de ejecución

Clase, Método

RequestMinimum

Tiempo de concesión

Ensamblado

RequestOptional

Tiempo de concesión

Ensamblado

RequestRefuse

Tiempo de concesión

Ensamblado

Para obtener más información sobre los destinos de atributos, vea Attribute.

En este ejemplo se explica cómo indicarle a CLR que el código del ensamblado exige IsolatedStoragePermission y cómo leer y escribir en almacenamientos aislados.

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, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft