Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese
Questa documentazione è stata archiviata e non viene gestita.

Classe NetCodeGroup

Concede l'autorizzazione per il Web al sito da cui è stato eseguito il download dell'assembly. Questa classe non può essere ereditata.

Spazio dei nomi:  System.Security.Policy
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class NetCodeGroup : CodeGroup

Il tipo NetCodeGroup espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoNetCodeGroupInizializza una nuova istanza della classe NetCodeGroup.
In alto

  NomeDescrizione
Proprietà pubblicaAttributeStringOttiene una rappresentazione in forma di stringa degli attributi relativi all'istruzione per i criteri del gruppo di codice. (Esegue l'override di CodeGroup.AttributeString).
Proprietà pubblicaChildrenOttiene o imposta un elenco ordinato dei gruppi di codice figlio di un gruppo di codice. (Ereditato da CodeGroup)
Proprietà pubblicaDescriptionOttiene o imposta la descrizione del gruppo di codice. (Ereditato da CodeGroup)
Proprietà pubblicaMembershipConditionOttiene o imposta la condizione di appartenenza del gruppo di codice. (Ereditato da CodeGroup)
Proprietà pubblicaMergeLogicOttiene la logica da utilizzare per unire i gruppi. (Esegue l'override di CodeGroup.MergeLogic).
Proprietà pubblicaNameOttiene o imposta il nome del gruppo di codice. (Ereditato da CodeGroup)
Proprietà pubblicaPermissionSetNameOttiene il nome dell'oggetto NamedPermissionSet per il gruppo di codice. (Esegue l'override di CodeGroup.PermissionSetName).
Proprietà pubblicaPolicyStatementOttiene o imposta l'istruzione per i criteri associata al gruppo di codice. (Ereditato da CodeGroup)
In alto

  NomeDescrizione
Metodo pubblicoAddChildAggiunge un gruppo di codice figlio al gruppo di codice corrente. (Ereditato da CodeGroup)
Metodo pubblicoAddConnectAccessAggiunge l'accesso alla connessione specificato al gruppo di codice corrente.
Metodo pubblicoCopyEsegue una copia completa del gruppo di codice corrente. (Esegue l'override di CodeGroup.Copy()).
Metodo protettoCreateXmlQuando è sottoposto a override in una classe derivata, serializza le proprietà e lo stato interno specifico di un gruppo di codice derivato e aggiunge la serializzazione all'oggetto SecurityElement specificato. (Ereditato da CodeGroup)
Metodo pubblicoEquals(Object)Determina se il gruppo di codice specificato è equivalente al gruppo di codice corrente. (Esegue l'override di CodeGroup.Equals(Object)).
Metodo pubblicoEquals(CodeGroup, Boolean)Determina se il gruppo di codice specificato è equivalente al gruppo di codice corrente, controllando anche i gruppi di codice figlio, se specificati. (Ereditato da CodeGroup)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoFromXml(SecurityElement)Ricostruisce da una codifica XML un oggetto di sicurezza con un determinato stato. (Ereditato da CodeGroup)
Metodo pubblicoFromXml(SecurityElement, PolicyLevel)Ricostruisce un oggetto di sicurezza con un determinato stato e livello di criteri da una codifica XML. (Ereditato da CodeGroup)
Metodo pubblicoGetConnectAccessRulesOttiene le informazioni relative all'accesso alla connessione per il gruppo di codice corrente.
Metodo pubblicoGetHashCodeOttiene il codice hash del gruppo di codice corrente. (Esegue l'override di CodeGroup.GetHashCode()).
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protettoParseXmlQuando è sottoposto a override in una classe derivata, ricostruisce le proprietà e lo stato interno specifico di un gruppo di codice derivato dall'oggetto SecurityElement specificato. (Ereditato da CodeGroup)
Metodo pubblicoRemoveChildRimuove il gruppo di codice figlio specificato. (Ereditato da CodeGroup)
Metodo pubblicoResetConnectAccessRimuove tutte le informazioni relative all'accesso alla connessione per il gruppo di codice corrente.
Metodo pubblicoResolveRisolve i criteri per il gruppo di codice e i relativi discendenti per un set di evidenze. (Esegue l'override di CodeGroup.Resolve(Evidence)).
Metodo pubblicoResolveMatchingCodeGroupsRisolve i gruppi di codice corrispondenti. (Esegue l'override di CodeGroup.ResolveMatchingCodeGroups(Evidence)).
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblicoToXml()Crea una codifica XML dell'oggetto di sicurezza e del relativo stato corrente. (Ereditato da CodeGroup)
Metodo pubblicoToXml(PolicyLevel)Crea una codifica XML per l'oggetto di sicurezza, il relativo stato corrente e il livello di criteri all'interno del quale è presente il codice. (Ereditato da CodeGroup)
In alto

  NomeDescrizione
Campo pubblicoMembro staticoAbsentOriginSchemeContiene un valore utilizzato per specificare l'accesso alla connessione per il codice con uno schema di origine sconosciuto o non riconosciuto.
Campo pubblicoMembro staticoAnyOtherOriginSchemeContiene un valore utilizzato per specificare qualsiasi altro schema di origine non specificato.
In alto

I gruppi di codice sono i blocchi di compilazione dei criteri di sicurezza per l'accesso al codice. Ciascun livello di criteri è costituito da un gruppo di codice radice, che può presentare uno o più gruppi di codice figlio. Ciascun gruppo di codice figlio può avere propri gruppi di codice figlio; questo comportamento si estende a tutti i livelli, creando una struttura ad albero. Ciascun gruppo di codice dispone di una condizione di appartenenza, che consente di determinare se uno specifico assembly appartiene al gruppo, sulla base dell'evidenza di tale assembly. Solo i gruppi di codice le cui condizioni di appartenenza corrispondono a un determinato assembly, insieme ai relativi gruppi di codice figlio, consentono di applicare i criteri di sicurezza per l'accesso al codice.

NetCodeGroup presenta la stessa semantica di unione di UnionCodeGroup; costituisce l'unione degli oggetti PolicyStatement di tutti i gruppi di codice figlio corrispondenti con l'oggetto PolicyStatement generato dall'evidenza Url di input. NetCodeGroup restituisce tuttavia un'autorizzazione contenente un oggetto WebPermission calcolato in modo dinamico che garantisce l'accesso alla connessione al sito da cui viene eseguito il codice. UnionCodeGroup restituisce semplicemente un insieme di autorizzazioni statiche.

Quando viene creato, un NetCodeGroup contiene le regole predefinite di accesso alla connessione illustrate nella tabella seguente.

Schema URI

Regola

file

Non è consentito alcun accesso al server di origine.

http

È consentito l'accesso HTTP e HTTPS tramite la porta di origine.

https

È consentito l'accesso HTTPS tramite la porta di origine.

È possibile controllare lo schema e la porta utilizzabili dal codice per la connessione al sito di origine passando un oggetto CodeConnectAccess con i valori delle proprietà Scheme e Port appropriati al metodo AddConnectAccess. È possibile creare una regola per l'accesso alla connessione applicabile quando lo schema di origine non è presente nell'evidenza o non è riconosciuto specificando AbsentOriginScheme ("") come schema. È inoltre possibile creare una regola per l'accesso alla connessione applicabile quando non è presente alcuna regola con uno schema corrispondente specificando AnyOtherOriginScheme ("*") come schema.

NotaNota

Se il codice non presenta lo schema URI come evidenza, l'accesso al sito di origine è consentito tramite qualsiasi schema.

Nell'esempio di codice riportato di seguito vengono illustrate la creazione di un NetCodeGroup e l'aggiunta di oggetti CodeConnectAccess per codice scaricato tramite lo schema HTTP.


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


.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Mostra: