Udostępnij za pośrednictwem


CodeConnectAccess Klasa

Definicja

Określa dostęp do zasobów sieciowych, który jest udzielany kodowi.

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
Dziedziczenie
CodeConnectAccess
Atrybuty

Przykłady

Poniższy przykład kodu tworzy NetCodeGroup obiekt i dodaje go do poziomu zasad użytkownika.


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

Uwagi

Ta klasa jest używana w połączeniu z klasą NetCodeGroup w celu kontrolowania sposobu, w jaki wykonywanie kodu może nawiązać połączenie z witryną, z którego została pobrana. Te klasy zapewniają programową kontrolę WebPermission nad udzielonym wykonywaniem kodu, który kontroluje schematy i porty, których kod może używać do uzyskiwania dostępu do jego lokacji źródłowej. Można określić pary schematów i portów, które są dozwolone na podstawie schematu w adresie URL, z którego pochodzi kod.

Aby utworzyć CodeConnectAccess obiekt na podstawie schematu pochodzenia kodu, użyj CreateOriginSchemeAccess metody .

Aby utworzyć CodeConnectAccess obiekt, który może używać dowolnego schematu, ale jest ograniczony przez port, użyj CreateAnySchemeAccess metody .

Konstruktory

CodeConnectAccess(String, Int32)

Inicjuje nowe wystąpienie klasy CodeConnectAccess.

Pola

AnyScheme

Zawiera wartość ciągu reprezentującą symbol wieloznaczny schematu.

DefaultPort

Zawiera wartość używaną do reprezentowania portu domyślnego.

OriginPort

Zawiera wartość używaną do reprezentowania wartości portu w identyfikatorze URI, z którego pochodzi kod.

OriginScheme

Zawiera wartość używaną do reprezentowania schematu w adresie URL, z którego pochodzi kod.

Właściwości

Port

Pobiera port reprezentowany przez bieżące wystąpienie.

Scheme

Pobiera schemat identyfikatora URI reprezentowany przez bieżące wystąpienie.

Metody

CreateAnySchemeAccess(Int32)

CodeConnectAccess Zwraca wystąpienie reprezentujące dostęp do określonego portu przy użyciu dowolnego schematu.

CreateOriginSchemeAccess(Int32)

CodeConnectAccess Zwraca wystąpienie reprezentujące dostęp do określonego portu przy użyciu schematu źródła kodu.

Equals(Object)

Zwraca wartość wskazującą, czy dwa CodeConnectAccess obiekty reprezentują ten sam schemat i port.

GetHashCode()

Pełni rolę funkcji skrótu dla określonego typu.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy