Exportar (0) Imprimir
Expandir Tudo
Expandir Minimizar
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Enumeração SecurityAction

Especifica as ações de segurança que podem ser executadas usando a segurança declarativa.

Namespace:  System.Security.Permissions
Assembly:  mscorlib (em mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum SecurityAction
Nome do membroDescrição
AssertO código chamador pode acessar o recurso identificado pelo objeto de permissão atual, mesmo se chamadores superiores na pilha não receberam permissão para acessar o recurso (consulte Usando o método Assert).
DemandTodos os chamadores superiores na pilha de chamadas serão necessários ter recebido a permissão especificada pelo objeto de permissão atual (consulte Demandas de segurança).
Deny Obsoleta. A capacidade de acessar o recurso especificado pelo objeto de permissão atual é negada a chamadores, mesmo que eles tenham permissão para acessá-lo (consulte [<topic://cpcondeny>]).
InheritanceDemandA classe derivada que herda a classe ou substituir um método é necessária ter recebido a permissão especificada. Para obter mais informações, consulte Demandas de herança.
Compatível com o XNA FrameworkLinkDemandO chamador imediato é necessário ter recebido a permissão especificada. Não use o .NET Framework 4. Para confiança total, use SecurityCriticalAttribute em vez dele; para confiança parcial, use Demand.
PermitOnlySomente os recursos especificados por este objeto de permissão podem ser acessados, mesmo que o código tem permissão para acessar outros recursos (consulte Usando o método PermitOnly).
RequestMinimum Obsoleta. A solicitação para as permissões mínimas necessárias para a execução de código. Esta ação só pode ser usada dentro do escopo do assembly.
RequestOptional Obsoleta. A solicitação de permissões adicionais que são opcionais (não é necessário para executar). Esta solicitação implicitamente recusa todas as outras permissões não especificamente solicitadas. Esta ação só pode ser usada dentro do escopo do assembly.
RequestRefuse Obsoleta. A solicitação que não serão concedidas permissões que podem ser usados incorretamente para o código de chamada. Esta ação só pode ser usada dentro do escopo do assembly.

A tabela a seguir descreve o tempo que leva de cada ação de segurança local e os destinos que ele suporta.

Observação importanteImportante

No .NET Framework 4, o suporte de tempo de execução foi removido para impor a Deny, RequestMinimum, RequestOptional, e RequestRefuse as solicitações de permissão. Essas solicitações não devem ser usadas no código baseado em .NET Framework 4 ou posterior. Para obter mais informações sobre esta e outras alterações, consulte Alterações na segurança do .NET Framework.

Você não deve usar LinkDemand na .NET Framework 4. Em vez disso, use o SecurityCriticalAttribute para restringir o uso a aplicativos totalmente confiáveis, ou use Demand para restringir os chamadores parcialmente confiáveis.

Declaração de ação de segurança

Tempo de ação

Suportada de destinos

LinkDemand (não use o .NET Framework 4)

Compilação Just-in-time

Classe, método

InheritanceDemand

Tempo de carregamento

Classe, método

Demand

Tempo de execução

Classe, método

Assert

Tempo de execução

Classe, método

Deny (obsoleta na .NET Framework 4)

Tempo de execução

Classe, método

PermitOnly

Tempo de execução

Classe, método

RequestMinimum (obsoleta na .NET Framework 4)

Tempo de concessão

Assembly

RequestOptional (obsoleta na .NET Framework 4)

Tempo de concessão

Assembly

RequestRefuse (obsoleta na .NET Framework 4)

Tempo de concessão

Assembly

Para obter informações adicionais sobre os destinos de atributo, consulte Attribute.

Este exemplo mostra como notificar o CLR que código em métodos chamados tem apenas IsolatedStoragePermissione também demonstra como gravar e ler do armazenamento isolado.


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

Com suporte em: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.