NetCodeGroup Klass

Definition

Ger webbbehörighet till den webbplats som sammansättningen laddades ned från. Det går inte att ärva den här klassen.

public ref class NetCodeGroup sealed : System::Security::Policy::CodeGroup
public sealed class NetCodeGroup : System.Security.Policy.CodeGroup
[System.Serializable]
public sealed class NetCodeGroup : System.Security.Policy.CodeGroup
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class NetCodeGroup : System.Security.Policy.CodeGroup
type NetCodeGroup = class
    inherit CodeGroup
[<System.Serializable>]
type NetCodeGroup = class
    inherit CodeGroup
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type NetCodeGroup = class
    inherit CodeGroup
Public NotInheritable Class NetCodeGroup
Inherits CodeGroup
Arv
NetCodeGroup
Attribut

Exempel

Följande kodexempel visar hur du skapar och NetCodeGroup lägger till CodeConnectAccess objekt för kod som laddas ned med hjälp av HTTP-schemat.


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

Kommentarer

Kodgrupper är byggstenarna i säkerhetsprincipen för kodåtkomst. Varje principnivå består av en rotkodsgrupp som kan ha en eller flera underordnade kodgrupper. Varje underordnad kodgrupp kan ha egna underordnade kodgrupper. Det här beteendet sträcker sig till valfritt antal nivåer och bildar ett träd. Varje kodgrupp har ett medlemskapsvillkor som avgör om en viss sammansättning tillhör gruppen, baserat på bevisen för den sammansättningen. Endast kodgrupper vars medlemskapsvillkor matchar en viss sammansättning, tillsammans med deras underordnade kodgrupper, tillämpar säkerhetsprincip för kodåtkomst.

NetCodeGroup har samma kopplingssemantik som UnionCodeGroupför . Den utgör en union av objekten i PolicyStatement alla matchande underordnade kodgrupper och den PolicyStatement genererar från indatabeviset Url . Returnerar dock NetCodeGroup en behörighet som innehåller en dynamiskt beräknad WebPermission behörighet som ger åtkomst till den plats som koden körs från. UnionCodeGroup Returnerar helt enkelt en statisk behörighetsuppsättning.

När en NetCodeGroup skapas innehåller den standardreglerna för anslutningsåtkomst som visas i följande tabell.

URI-schema Regel
file Ingen anslutningsåtkomst till ursprungsservern tillåts.
http HTTP- och HTTPS-åtkomst tillåts med hjälp av ursprungsporten.
https HTTPS-åtkomst tillåts med hjälp av ursprungsporten.

Du kan styra schemat och porten som koden tillåts använda när du ansluter tillbaka till ursprungsplatsen genom att skicka ett CodeConnectAccess objekt med lämpliga Scheme värden och Port egenskapsvärden till AddConnectAccess metoden. Du kan skapa en anslutningsåtkomstregel som gäller när ursprungsschemat inte finns i beviset eller inte identifieras genom att AbsentOriginScheme ange ("") som schema. Du kan också skapa en anslutningsåtkomstregel som gäller när det inte finns någon anslutningsåtkomstregel med ett matchande schema genom att AnyOtherOriginScheme ange ("*") som schema.

Note

Om koden inte skickar in URI-schemat som bevis, tillåts åtkomst med hjälp av alla scheman tillbaka till ursprungsplatsen.

Konstruktorer

Name Description
NetCodeGroup(IMembershipCondition)

Initierar en ny instans av NetCodeGroup klassen.

Fält

Name Description
AbsentOriginScheme

Innehåller ett värde som används för att ange anslutningsåtkomst för kod med ett okänt eller okänt ursprungsschema.

AnyOtherOriginScheme

Innehåller ett värde som används för att ange andra ospecificerade ursprungsscheman.

Egenskaper

Name Description
AttributeString

Hämtar en strängrepresentation av attributen för principsatsen för kodgruppen.

Children

Hämtar eller anger en ordnad lista över underordnade kodgrupper i en kodgrupp.

(Ärvd från CodeGroup)
Description

Hämtar eller anger beskrivningen av kodgruppen.

(Ärvd från CodeGroup)
MembershipCondition

Hämtar eller anger kodgruppens medlemskapsvillkor.

(Ärvd från CodeGroup)
MergeLogic

Hämtar logiken som ska användas för sammanslagning av grupper.

Name

Hämtar eller anger namnet på kodgruppen.

(Ärvd från CodeGroup)
PermissionSetName

Hämtar namnet på NamedPermissionSet kodgruppen.

PolicyStatement

Hämtar eller anger den principsats som är associerad med kodgruppen.

(Ärvd från CodeGroup)

Metoder

Name Description
AddChild(CodeGroup)

Lägger till en underordnad kodgrupp i den aktuella kodgruppen.

(Ärvd från CodeGroup)
AddConnectAccess(String, CodeConnectAccess)

Lägger till den angivna anslutningsåtkomsten till den aktuella kodgruppen.

Copy()

Gör en djup kopia av den aktuella kodgruppen.

CreateXml(SecurityElement, PolicyLevel)

När åsidosättas i en härledd klass serialiserar egenskaper och internt tillstånd som är specifika för en härledd kodgrupp och lägger till serialiseringen i den angivna SecurityElement.

(Ärvd från CodeGroup)
Equals(CodeGroup, Boolean)

Avgör om den angivna kodgruppen motsvarar den aktuella kodgruppen och kontrollerar även de underordnade kodgrupperna om den anges.

(Ärvd från CodeGroup)
Equals(Object)

Avgör om den angivna kodgruppen motsvarar den aktuella kodgruppen.

Equals(Object)

Avgör om den angivna kodgruppen motsvarar den aktuella kodgruppen.

(Ärvd från CodeGroup)
FromXml(SecurityElement, PolicyLevel)

Rekonstruerar ett säkerhetsobjekt med ett angivet tillstånd och en principnivå från en XML-kodning.

(Ärvd från CodeGroup)
FromXml(SecurityElement)

Rekonstruerar ett säkerhetsobjekt med ett visst tillstånd från en XML-kodning.

(Ärvd från CodeGroup)
GetConnectAccessRules()

Hämtar anslutningsinformationen för den aktuella kodgruppen.

GetHashCode()

Hämtar hash-koden för den aktuella kodgruppen.

GetHashCode()

Hämtar hash-koden för den aktuella kodgruppen.

(Ärvd från CodeGroup)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ParseXml(SecurityElement, PolicyLevel)

När åsidosättas i en härledd klass rekonstruerar egenskaper och internt tillstånd som är specifika för en härledd kodgrupp från den angivna SecurityElement.

(Ärvd från CodeGroup)
RemoveChild(CodeGroup)

Tar bort den angivna underordnade kodgruppen.

(Ärvd från CodeGroup)
ResetConnectAccess()

Tar bort all anslutningsinformation för den aktuella kodgruppen.

Resolve(Evidence)

Löser principen för kodgruppen och dess underordnade för en uppsättning bevis.

ResolveMatchingCodeGroups(Evidence)

Löser matchande kodgrupper.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
ToXml()

Skapar en XML-kodning av säkerhetsobjektet och dess aktuella tillstånd.

(Ärvd från CodeGroup)
ToXml(PolicyLevel)

Skapar en XML-kodning av säkerhetsobjektet, dess aktuella tillstånd och den principnivå där koden finns.

(Ärvd från CodeGroup)

Gäller för