SecurityAction Enumeração
TOC
Recolher sumário
Expandir sumário
Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

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
Assert

O código de chamada pode acessar o recurso identificado pelo objeto de permissão atual, mesmo que os chamadores na pilha não recebeu permissão para acessar o recurso (consulte usando o método Assert).

Demand

Todos os chamadores na pilha de chamadas serão necessários ter a permissão especificada pelo objeto de permissão atual.

Deny

Obsoleto.A capacidade de acessar o recurso especificado pelo objeto de permissão atual é negada aos chamadores, mesmo se eles têm permissão para acessá-lo (consulte PONTA: usando o método Deny).

InheritanceDemand

A classe derivada de herança da classe ou substituir um método é necessária para ter recebido a permissão especificada.

LinkDemand

O chamador imediato é necessário ter a permissão especificada. Não use o .NET Framework 4. Para confiança total, use SecurityCriticalAttribute ; para confiança parcial, use Demand.

PermitOnly

Somente os recursos especificados por esse objeto de permissão podem ser acessados, mesmo que o código tem permissão para acessar outros recursos.

RequestMinimum

Obsoleto.A solicitação para as permissões mínimas necessárias para a execução de código. Essa ação só pode ser usada dentro do escopo do assembly.

RequestOptional

Obsoleto.A solicitação de permissões adicionais que são opcionais (não é necessário para executar). Essa solicitação implicitamente recusa todas as outras permissões não especificamente solicitadas. Essa ação só pode ser usada dentro do escopo do assembly.

RequestRefuse

Obsoleto.A solicitação de permissões que podem ser usado indevidamente não serão concedidas ao código de chamada. Essa 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.

System_CAPS_importantImportante

No .NET Framework 4, o suporte de tempo de execução foi removido para impor o Deny, RequestMinimum, RequestOptional, e RequestRefuse solicitações de permissão. Essas solicitações não devem ser usadas no código com base no .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 usarLinkDemand no .NET Framework 4. Em vez disso, use o SecurityCriticalAttribute para restringir o uso de aplicativos totalmente confiáveis ou usar Demand para restringir os chamadores parcialmente confiáveis.

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

Hora da ação

Destinos com suporte

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

Compilação Just-in-time

Método de classe

InheritanceDemand

Tempo de carregamento

Método de classe

Demand

Tempo de execução

Método de classe

Assert

Tempo de execução

Método de classe

Deny (obsoleto no .NET Framework 4)

Tempo de execução

Método de classe

PermitOnly

Tempo de execução

Método de classe

RequestMinimum (obsoleto no .NET Framework 4)

Tempo de concessão

Assembly

RequestOptional (obsoleto no .NET Framework 4)

Tempo de concessão

Assembly

RequestRefuse (obsoleto no .NET Framework 4)

Tempo de concessão

Assembly

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

Este exemplo mostra como notificar o CLR que o código em métodos chamados tem apenas IsolatedStoragePermission, e 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
Disponível desde 1.1
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Retornar ao topo
Mostrar:
© 2016 Microsoft