Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

SecurityAction (Enumeración)

Actualización: noviembre 2007

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
public enum SecurityAction

Nombre de miembroDescripción
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).
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).
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).
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).
3scex4y1.CFW(es-es,VS.90).gif3scex4y1.xna(es-es,VS.90).gifLinkDemandEl llamador inmediato debe tener el permiso especificado.
InheritanceDemandLa clase derivada que hereda la clase o que reemplaza un método debe tener el permiso especificado. Para obtener más información, vea Peticiones de herencia.
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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0

XNA Framework

Compatible con: 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft