Condividi tramite


CodeConnectAccess Classe

Definizione

Specifica l'accesso alla risorsa di rete consentito per il codice.

public ref class CodeConnectAccess
public class CodeConnectAccess
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeConnectAccess
type CodeConnectAccess = class
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeConnectAccess = class
Public Class CodeConnectAccess
Ereditarietà
CodeConnectAccess
Attributi

Esempio

L'esempio di codice seguente crea un NetCodeGroup oggetto e lo aggiunge al livello di criteri User.


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();
}

Commenti

Questa classe viene usata insieme alla NetCodeGroup classe per controllare il modo in cui l'esecuzione del codice può connettersi al sito da cui è stato scaricato. Queste classi forniscono il controllo programmatico dell'oggetto concesso per l'esecuzione WebPermission di codice che controlla quali schemi e porte il codice può usare per accedere al sito di origine. È possibile specificare coppie di schemi e porte consentite in base allo schema nell'URL in cui ha origine il codice.

Per creare un CodeConnectAccess oggetto basato sullo schema di origine del codice, usare il CreateOriginSchemeAccess metodo .

Per creare un CodeConnectAccess oggetto in grado di utilizzare qualsiasi schema ma limitato dalla porta, utilizzare il CreateAnySchemeAccess metodo .

Costruttori

CodeConnectAccess(String, Int32)

Inizializza una nuova istanza della classe CodeConnectAccess.

Campi

AnyScheme

Contiene il valore di stringa che rappresenta il carattere jolly dello schema.

DefaultPort

Contiene il valore utilizzato per rappresentare la porta predefinita.

OriginPort

Contiene il valore utilizzato per rappresentare il valore della porta nell'URI da cui ha origine il codice.

OriginScheme

Contiene il valore utilizzato per rappresentare lo schema nell'URL da cui ha origine il codice.

Proprietà

Port

Ottiene la porta rappresentata dall'istanza corrente.

Scheme

Ottiene lo schema URI rappresentato dall'istanza corrente.

Metodi

CreateAnySchemeAccess(Int32)

Restituisce un'istanza di CodeConnectAccess che rappresenta l'accesso alla porta specificata utilizzando uno schema qualsiasi.

CreateOriginSchemeAccess(Int32)

Restituisce un'istanza di CodeConnectAccess che rappresenta l'accesso alla porta specificata utilizzando lo schema di origine del codice.

Equals(Object)

Restituisce un valore che indica se due oggetti CodeConnectAccess rappresentano lo stesso schema e la stessa porta.

GetHashCode()

Svolge una funzione hash per un tipo particolare.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a