Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

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

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).
Deny Obsoleta. A 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 [<topic://cpcondeny>]).
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.
Compatible con XNA FrameworkLinkDemandEl llamador inmediato debe tener concedido el permiso especificado. No lo use en .NET Framework 4. Para plena confianza, use SecurityCriticalAttributeen su lugar; para confianza parcial, useDemand.
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).
RequestMinimum Obsoleta. Solicitud de los permisos mínimos necesarios para ejecutar el código. Esta acción sólo puede utilizarse dentro del ámbito del ensamblado.
RequestOptional Obsoleta. Solicitud de otros permisos opcionales (no necesarios para la ejecución). Esta solicitud rechaza implícitamente el resto de los permisos que no se hayan solicitado de forma específica. Esta acción sólo puede utilizarse dentro del ámbito del ensamblado.
RequestRefuse Obsoleta. Solicitud 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 la acción de seguridad y los destinos que admite.

Nota importanteImportante

En .NET Framework 4, se ha quitado la compatibilidad con el runtime para exigir las solicitudes de permisos Deny, RequestMinimum, RequestOptional y RequestRefuse. Estas solicitudes no deben usarse en código basado en .NET Framework 4 o posterior. Para obtener más información sobre estos y otros cambios, vea Cambios de seguridad en .NET Framework.

No debe usar LinkDemand en .NET Framework 4. En su lugar, use SecurityCriticalAttribute para restringir el uso a las aplicaciones de plena confianza o use Demand para restringir los llamadores de confianza parcial.

Declaración de acción de seguridad

Momento de acción

Destinos admitidos

LinkDemand (no lo use en .NET Framework 4)

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 (obsoleto en .NET Framework 4)

Tiempo de ejecución

Clase, método

PermitOnly

Tiempo de ejecución

Clase, método

RequestMinimum (obsoleto en .NET Framework 4)

Tiempo de concesión

Ensamblado

RequestOptional (obsoleto en .NET Framework 4)

Tiempo de concesión

Ensamblado

RequestRefuse (obsoleto en .NET Framework 4)

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 notificar a CLR que el código en los métodos llamados tiene sólo IsolatedStoragePermission, y también se muestra cómo leer y escribir del almacenamiento aislado.


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

// Notify the CLR to only grant IsolatedStorageFilePermission to called methods. 
// This restricts the called methods to working only with storage files that are isolated 
// by user and assembly.
[IsolatedStorageFilePermission(SecurityAction.PermitOnly, UsageAllowed = IsolatedStorageContainment.AssemblyIsolationByUser)]
public sealed class App
{
    static void Main()
    {
        WriteIsolatedStorage();

    }
    private static void WriteIsolatedStorage()
    {
        // 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.


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

.NET para aplicaciones de Windows Phone

Obsoleto (advertencia del compilador) en Windows Phone 8
Obsoleto (advertencia del compilador) en Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft