CodeConnectAccess Classe

Definição

Especifica o acesso aos recursos de rede concedidos ao código.

public ref class CodeConnectAccess
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeConnectAccess
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeConnectAccess = class
Public Class CodeConnectAccess
Herança
CodeConnectAccess
Atributos

Exemplos

O exemplo de código seguinte cria um NetCodeGroup objeto e adiciona-o ao nível da política de utilizador.


static void SetNetCodeGroupAccess()
{
    String^ userPolicyLevel = "User";
    // Locate the User policy level.
    PolicyLevel^ level = nullptr;
    System::Collections::IEnumerator^ ph = 
        System::Security::SecurityManager::PolicyHierarchy();
    while(ph->MoveNext())
    {
        level = (PolicyLevel^)ph->Current;
        if (level->Label == userPolicyLevel)
        {
            break;       
        }
    }
    if (level->Label != userPolicyLevel)
        throw gcnew ApplicationException("Could not find User policy level.");

    IMembershipCondition^ membership =
        gcnew UrlMembershipCondition("http://www.contoso.com/*");
    NetCodeGroup^ codeGroup = gcnew NetCodeGroup(membership);
    // Delete default settings.
    codeGroup->ResetConnectAccess();
    // Create an object that represents access to the FTP scheme and 
    // default port.
    CodeConnectAccess^ CodeAccessFtp = 
        gcnew CodeConnectAccess(Uri::UriSchemeFtp, 
        CodeConnectAccess::DefaultPort);
    // Create an object that represents access to the HTTPS scheme 
    // and default port.
    CodeConnectAccess^ CodeAccessHttps = 
        gcnew CodeConnectAccess(Uri::UriSchemeHttps, 
        CodeConnectAccess::DefaultPort);
    // Create an object that represents access to the origin 
    // scheme and port.
    CodeConnectAccess^ CodeAccessOrigin = 
        CodeConnectAccess::CreateOriginSchemeAccess
        (CodeConnectAccess::OriginPort);
    // Add connection access objects to the NetCodeGroup object.
    codeGroup->AddConnectAccess(Uri::UriSchemeHttp, CodeAccessFtp);
    codeGroup->AddConnectAccess(Uri::UriSchemeHttp, CodeAccessHttps);
    codeGroup->AddConnectAccess(Uri::UriSchemeHttp, CodeAccessOrigin);
    // Provide name and description information for caspol.exe tool.
    codeGroup->Name = "ContosoHttpCodeGroup";
    codeGroup->Description = "Code originating from contoso.com can" +
        " connect back using the FTP or HTTPS.";
    // Add the code group to the User policy's root node.
    level->RootCodeGroup->AddChild(codeGroup);
    // Save the changes to the policy level.
    System::Security::SecurityManager::SavePolicy();
}
public static void SetNetCodeGroupAccess()
{
    const string userPolicyLevel = "User";
    // Locate the User policy level.
    PolicyLevel level = null;
    System.Collections.IEnumerator ph =
        System.Security.SecurityManager.PolicyHierarchy();
    while(ph.MoveNext())
    {
        level = (PolicyLevel)ph.Current;
        if( level.Label == userPolicyLevel )
        {
            break;
        }
    }
    if (level.Label != userPolicyLevel)
        throw new ApplicationException("Could not find User policy level.");

    IMembershipCondition membership =
        new UrlMembershipCondition(@"http://www.contoso.com/*");
    NetCodeGroup codeGroup = new NetCodeGroup(membership);
    // Delete default settings.
    codeGroup.ResetConnectAccess();
    // Create an object that represents access to the FTP scheme and default port.
    CodeConnectAccess a1 = new CodeConnectAccess(Uri.UriSchemeFtp, CodeConnectAccess.DefaultPort);
    // Create an object that represents access to the HTTPS scheme and default port.
    CodeConnectAccess a2 = new CodeConnectAccess(Uri.UriSchemeHttps, CodeConnectAccess.DefaultPort);
    // Create an object that represents access to the origin scheme and port.
    CodeConnectAccess a3 = CodeConnectAccess.CreateOriginSchemeAccess(CodeConnectAccess.OriginPort);
    // Add connection access objects to the NetCodeGroup object.
    codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a1);
    codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a2);
    codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a3);
    // Provide name and description information for caspol.exe tool.
    codeGroup.Name = "ContosoHttpCodeGroup";
    codeGroup.Description = "Code originating from contoso.com can connect back using the FTP or HTTPS.";
    // Add the code group to the User policy's root node.
    level.RootCodeGroup.AddChild(codeGroup);
    // Save the changes to the policy level.
    System.Security.SecurityManager.SavePolicy();
}

Observações

Esta classe é usada em conjunto com a NetCodeGroup classe para controlar como o código em execução pode ligar de volta ao site de onde foi descarregado. Estas classes fornecem controlo programático do WebPermission código concedido em execução, que controla que esquemas e portas o código pode usar para aceder ao seu site de origem. Pode especificar pares de esquema e porta permitidos com base no esquema na URL de onde o código se origina.

Para criar um CodeConnectAccess objeto com base no esquema de origem do código, use o CreateOriginSchemeAccess método.

Para criar um CodeConnectAccess objeto que possa usar qualquer esquema mas que seja limitado pela porta, use o CreateAnySchemeAccess método.

Construtores

Name Description
CodeConnectAccess(String, Int32)

Inicializa uma nova instância da CodeConnectAccess classe.

Campos

Name Description
AnyScheme

Contém o valor da cadeia que representa o coringa do esquema.

DefaultPort

Contém o valor usado para representar a porta padrão.

OriginPort

Contém o valor usado para representar o valor da porta no URI onde o código se originou.

OriginScheme

Contém o valor usado para representar o esquema na URL onde o código se originou.

Propriedades

Name Description
Port

Faz com que a porta seja representada pela instância atual.

Scheme

Obtém o esquema URI representado pela instância atual.

Métodos

Name Description
CreateAnySchemeAccess(Int32)

Devolve uma CodeConnectAccess instância que representa o acesso à porta especificada usando qualquer esquema.

CreateOriginSchemeAccess(Int32)

Devolve uma CodeConnectAccess instância que representa o acesso à porta especificada usando o esquema de origem do código.

Equals(Object)

Devolve um valor que indica se dois CodeConnectAccess objetos representam o mesmo esquema e porta.

GetHashCode()

Serve como função de hash para um tipo específico.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a