CodeConnectAccess Klasse

Definition

Gibt den Netzwerkressourcenzugriff an, der Code gewährt wird.

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
Vererbung
CodeConnectAccess
Attribute

Beispiele

Im folgenden Codebeispiel wird ein NetCodeGroup Objekt erstellt und der Benutzerrichtlinienebene hinzugefügt.


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

Hinweise

Diese Klasse wird zusammen mit der NetCodeGroup Klasse verwendet, um zu steuern, wie das Ausführen von Code eine Verbindung mit der Website herstellen kann, von der sie heruntergeladen wurde. Diese Klassen bieten programmgesteuerte Kontrolle über den WebPermission gewährten Code, der steuert, welche Schemas und Ports der Code auf seine Ursprungswebsite zugreifen kann. Sie können Schema- und Portpaare angeben, die basierend auf dem Schema in der URL zulässig sind, in der der Code stammt.

Verwenden Sie die CodeConnectAccess Methode, um ein CreateOriginSchemeAccess Objekt basierend auf dem Ursprungsschema des Codes zu erstellen.

Verwenden Sie die CodeConnectAccess Methode, um ein CreateAnySchemeAccess Objekt zu erstellen, das ein beliebiges Schema verwenden kann, aber über den Port eingeschränkt ist.

Konstruktoren

Name Beschreibung
CodeConnectAccess(String, Int32)

Initialisiert eine neue Instanz der CodeConnectAccess-Klasse.

Felder

Name Beschreibung
AnyScheme

Enthält den Zeichenfolgenwert, der den Schema-Wildcard-Wert darstellt.

DefaultPort

Enthält den Wert, der zum Darstellen des Standardports verwendet wird.

OriginPort

Enthält den Wert, der verwendet wird, um den Portwert im URI darzustellen, in dem Der Code stammt.

OriginScheme

Enthält den Wert, der zum Darstellen des Schemas in der URL verwendet wird, in der der Code stammt.

Eigenschaften

Name Beschreibung
Port

Ruft den Port ab, der durch die aktuelle Instanz dargestellt wird.

Scheme

Ruft das URI-Schema ab, das durch die aktuelle Instanz dargestellt wird.

Methoden

Name Beschreibung
CreateAnySchemeAccess(Int32)

Gibt eine CodeConnectAccess Instanz zurück, die den Zugriff auf den angegebenen Port mithilfe eines schemas darstellt.

CreateOriginSchemeAccess(Int32)

Gibt eine CodeConnectAccess Instanz zurück, die den Zugriff auf den angegebenen Port mithilfe des Ursprungsschemas des Codes darstellt.

Equals(Object)

Gibt einen Wert zurück, der angibt, ob zwei CodeConnectAccess Objekte dasselbe Schema und denselben Port darstellen.

GetHashCode()

Dient als Hashfunktion für einen bestimmten Typ.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: