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

Método SecurityManager.GetStandardSandbox (Evidence)

.NET Framework (current version)
 

Obtém um conjunto de permissões que é seguro conceder a um aplicativo que tem a evidência fornecida.

Namespace:   System.Security
Assembly:  mscorlib (em mscorlib.dll)

public static PermissionSet GetStandardSandbox(
	Evidence evidence
)

Parâmetros

evidence
Type: System.Security.Policy.Evidence

A evidência de host a ser correspondida a um conjunto de permissões.

Valor Retornado

Type: System.Security.PermissionSet

Um conjunto de permissões que pode ser usado como um conjunto de concessões para o aplicativo que tem a evidência fornecida.

Exception Condition
ArgumentNullException

evidence é null.

System_CAPS_noteObservação

In the net_v40_long, the host evidence in evidence must contain T:System.Security.Policy.Zone evidence.

The following table shows the permission sets that are returned for each zone.

Zone

Permission set

MyComputer

FullTrust

Intranet

LocalIntranet

Trusted

Internet

Internet

Internet

Untrusted

None

NoZone

None

Other evidence, such as T:System.Security.Policy.Url or T:System.Security.Policy.Site, may be considered.

The returned permission set can be used by a sandbox to run the application. Note that this method does not specify policy, but helps a host to determine whether the permission set requested by an application is reasonable. This method can be used to map a zone to a sandbox.

The following example shows how to use the M:System.Security.SecurityManager.GetStandardSandbox(System.Security.Policy.Evidence) method to obtain the permission set for a sandboxed application. For more information about running an application in a sandbox, see How To: Run Partially Trusted Code in a Sandbox.

using System;
using System.Collections;
using System.Diagnostics;
using System.Security;
using System.Security.Permissions;
using System.Security.Policy;
using System.Reflection;
using System.IO;

namespace SimpleSandboxing
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create the permission set to grant to other assemblies.
            // In this case we are granting the permissions found in the LocalIntranet zone.
            Evidence e = new Evidence();
            e.AddHostEvidence(new Zone(SecurityZone.Intranet));
            PermissionSet pset = SecurityManager.GetStandardSandbox(e);

            AppDomainSetup ads = new AppDomainSetup();
            // Identify the folder to use for the sandbox.
            ads.ApplicationBase = "C:\\Sandbox";
            // Copy the application to be executed to the sandbox.
            Directory.CreateDirectory("C:\\Sandbox");
            File.Copy("..\\..\\..\\HelloWorld\\bin\\debug\\HelloWorld.exe", "C:\\sandbox\\HelloWorld.exe", true);

            // Create the sandboxed domain.
            AppDomain sandbox = AppDomain.CreateDomain(
               "Sandboxed Domain",
               e,
               ads,
               pset,
               null);
            sandbox.ExecuteAssemblyByName("HelloWorld");
        }
    }
}

.NET Framework
Disponível desde 4.0
Retornar ao início
Mostrar: