CodeConnectAccess Classe

Definizione

Specifica l'accesso alle risorse di rete concesso al 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 Utente.


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ò riconnettersi al sito da cui è stato scaricato. Queste classi forniscono il controllo programmatico dell'oggetto concesso all'esecuzione WebPermission di codice che controlla gli schemi e le porte che 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 che può usare qualsiasi schema, ma è limitato dalla porta, utilizzare il CreateAnySchemeAccess metodo .

Costruttori

Nome Descrizione
CodeConnectAccess(String, Int32)

Inizializza una nuova istanza della classe CodeConnectAccess.

Campi

Nome Descrizione
AnyScheme

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

DefaultPort

Contiene il valore utilizzato per rappresentare la porta predefinita.

OriginPort

Contiene il valore usato per rappresentare il valore della porta nell'URI in cui è stato originato il codice.

OriginScheme

Contiene il valore usato per rappresentare lo schema nell'URL in cui è stato originato il codice.

Proprietà

Nome Descrizione
Port

Ottiene la porta rappresentata dall'istanza corrente.

Scheme

Ottiene lo schema URI rappresentato dall'istanza corrente.

Metodi

Nome Descrizione
CreateAnySchemeAccess(Int32)

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

CreateOriginSchemeAccess(Int32)

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

Equals(Object)

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

GetHashCode()

Funge da funzione hash per un particolare tipo.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a