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 tenham recebido permissão para acessar o recurso (consulte Usando o Método Assert).

Demand

Todos os chamadores na pilha de chamadas deverão 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 é negado aos chamadores, mesmo que eles tenham recebido permissão para acessá-lo (consulte Usando o Método Deny).

InheritanceDemand

A classe derivada que está herdando a classe ou substituindo um método deverá ter recebido a permissão especificada.

LinkDemand

O chamador imediato deverá ter recebido a permissão especificada. Não use no .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 poderão ser acessados, mesmo que o código tenha recebido permissão para acessar outros recursos.

RequestMinimum

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

RequestOptional

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

RequestRefuse

Obsoleto. A solicitação de permissões que podem ser usadas indevidamente não serão concedidas ao código de chamada. Esta ação só pode ser usada no escopo do assembly.

The following table describes the time that each security action takes place and the targets that it supports.

System_CAPS_importantImportante

In the net_v40_long, runtime support has been removed for enforcing the F:System.Security.Permissions.SecurityAction.Deny, F:System.Security.Permissions.SecurityAction.RequestMinimum, F:System.Security.Permissions.SecurityAction.RequestOptional, and F:System.Security.Permissions.SecurityAction.RequestRefuse permission requests. These requests should not be used in code that is based on net_v40_short or later. For more information about this and other changes, see Security Changes in the .NET Framework Version 4.0.

You should not useF:System.Security.Permissions.SecurityAction.LinkDemand in the net_v40_short. Instead, use the T:System.Security.SecurityCriticalAttribute to restrict usage to fully trusted applications, or use F:System.Security.Permissions.SecurityAction.Demand to restrict partially trusted callers.

Declaration of security action

Time of action

Targets supported

LinkDemand (do not use in the .NET Framework 4)

Just-in-time compilation

Class, method

InheritanceDemand

Load time

Class, method

Demand

Run time

Class, method

Assert

Run time

Class, method

Deny (obsolete in the .NET Framework 4)

Run time

Class, method

PermitOnly

Run time

Class, method

RequestMinimum (obsolete in the .NET Framework 4)

Grant time

Assembly

RequestOptional (obsolete in the .NET Framework 4)

Grant time

Assembly

RequestRefuse (obsolete in the .NET Framework 4)

Grant time

Assembly

For additional information about attribute targets, see T:System.Attribute.

This example shows how to notify the CLR that code in called methods has only T:System.Security.Permissions.IsolatedStoragePermission, and also demonstrates how to write and read from isolated storage.

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 início
Mostrar: