CodeConnectAccess Classe

Définition

Spécifie l’accès aux ressources réseau accordé au code.

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
Héritage
CodeConnectAccess
Attributs

Exemples

L’exemple de code suivant crée un NetCodeGroup objet et l’ajoute au niveau de la stratégie utilisateur.


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

Remarques

Cette classe est utilisée conjointement avec la NetCodeGroup classe pour contrôler la façon dont l’exécution du code peut se connecter au site à partir duquel il a été téléchargé. Ces classes fournissent un contrôle programmatique du WebPermission code accordé pour exécuter du code qui contrôle les schémas et ports que le code peut utiliser pour accéder à son site d’origine. Vous pouvez spécifier des paires de schémas et de ports autorisées en fonction du schéma dans l’URL où provient le code.

Pour créer un CodeConnectAccess objet basé sur le schéma d’origine du code, utilisez la CreateOriginSchemeAccess méthode.

Pour créer un CodeConnectAccess objet qui peut utiliser n’importe quel schéma, mais qui est limité par port, utilisez la CreateAnySchemeAccess méthode.

Constructeurs

Nom Description
CodeConnectAccess(String, Int32)

Initialise une nouvelle instance de la classe CodeConnectAccess.

Champs

Nom Description
AnyScheme

Contient la valeur de chaîne qui représente le caractère générique du schéma.

DefaultPort

Contient la valeur utilisée pour représenter le port par défaut.

OriginPort

Contient la valeur utilisée pour représenter la valeur de port dans l’URI où le code provient.

OriginScheme

Contient la valeur utilisée pour représenter le schéma dans l’URL où le code provient.

Propriétés

Nom Description
Port

Obtient le port représenté par l’instance actuelle.

Scheme

Obtient le schéma d’URI représenté par l’instance actuelle.

Méthodes

Nom Description
CreateAnySchemeAccess(Int32)

Retourne une CodeConnectAccess instance qui représente l’accès au port spécifié à l’aide de n’importe quel schéma.

CreateOriginSchemeAccess(Int32)

Retourne une CodeConnectAccess instance qui représente l’accès au port spécifié à l’aide du schéma d’origine du code.

Equals(Object)

Retourne une valeur indiquant si deux CodeConnectAccess objets représentent le même schéma et le même port.

GetHashCode()

Sert de fonction de hachage pour un type particulier.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à