Aracılığıyla paylaş


NetCodeGroup Sınıf

Tanım

Derlemenin indirildiği siteye Web izni verir. Bu sınıf devralınamaz.

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
Devralma
NetCodeGroup
Öznitelikler

Örnekler

Aşağıdaki kod örneği, HTTP şeması kullanılarak indirilen kod için nesne NetCodeGroup oluşturmayı ve nesneleri eklemeyi CodeConnectAccess gösterir.


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

Açıklamalar

Kod grupları, kod erişimi güvenlik ilkesinin yapı taşlarıdır. Her ilke düzeyi, bir veya daha fazla alt kod grubuna sahip olabilecek bir kök kod grubundan oluşur. Her alt kod grubunun kendi alt kod grupları olabilir; bu davranış herhangi bir sayıda düzeye genişleterek bir ağaç oluşturur. Her kod grubunun, o derlemenin kanıtına bağlı olarak belirli bir derlemenin gruba ait olup olmadığını belirleyen bir üyelik koşulu vardır. Yalnızca üyelik koşulları belirli bir derlemeyle eşleşen kod grupları, alt kod gruplarıyla birlikte kod erişimi güvenlik ilkesi uygular.

NetCodeGroup ile aynı birleştirme semantiğine UnionCodeGroupsahiptir; eşleşen tüm alt kod gruplarının nesnelerinin PolicyStatement birleşimini oluşturur ve PolicyStatement giriş Url kanıtından üretir. Ancak, NetCodeGroup kodun çalıştırıldığı siteye bağlanma erişimi veren dinamik olarak hesaplanan WebPermission bir izin döndürür; UnionCodeGroup yalnızca statik bir izin kümesi döndürür.

NetCodeGroup oluşturulduğunda, aşağıdaki tabloda gösterilen varsayılan bağlantı erişim kurallarını içerir.

URI Şeması Kural
dosyası Kaynak sunucuya bağlantı erişimine izin verilmez.
http Kaynak bağlantı noktası kullanılarak HTTP ve HTTPS erişimine izin verilir.
https Kaynak bağlantı noktası kullanılarak HTTPS erişimine izin verilir.

Uygun ve özellik değerlerine AddConnectAccess sahip Scheme bir CodeConnectAccess nesneyi yöntemine geçirerek, kodun kaynak sitesine geri bağlanırken kullanmasına izin verilen düzeni ve Port bağlantı noktasını denetleyebilirsiniz. Kaynak şeması kanıtta bulunmadığında veya düzen olarak ("") belirterek AbsentOriginScheme tanınmadığında geçerli olan bir bağlantı erişim kuralı oluşturabilirsiniz. Ayrıca, düzen olarak ("*") belirterek AnyOtherOriginScheme eşleşen bir düzen ile bağlantı erişim kuralı olmadığında geçerli olan bir bağlantı erişim kuralı da oluşturabilirsiniz.

Not

Kod URI şemasını kanıt olarak göndermezse, kaynak siteye geri herhangi bir şema kullanılarak erişime izin verilir.

Oluşturucular

NetCodeGroup(IMembershipCondition)

NetCodeGroup sınıfının yeni bir örneğini başlatır.

Alanlar

AbsentOriginScheme

Bilinmeyen veya tanınmayan kaynak düzenine sahip kod için bağlantı erişimini belirtmek için kullanılan bir değer içerir.

AnyOtherOriginScheme

Belirtilmemiş diğer kaynak şemalarını belirtmek için kullanılan bir değer içerir.

Özellikler

AttributeString

Kod grubu için ilke deyimi özniteliklerinin dize gösterimini alır.

Children

Bir kod grubunun alt kod gruplarının sıralı listesini alır veya ayarlar.

(Devralındığı yer: CodeGroup)
Description

Kod grubunun açıklamasını alır veya ayarlar.

(Devralındığı yer: CodeGroup)
MembershipCondition

Kod grubunun üyelik koşulunu alır veya ayarlar.

(Devralındığı yer: CodeGroup)
MergeLogic

Grupları birleştirmek için kullanılacak mantığı alır.

Name

Kod grubunun adını alır veya ayarlar.

(Devralındığı yer: CodeGroup)
PermissionSetName

Kod grubunun adını NamedPermissionSet alır.

PolicyStatement

Kod grubuyla ilişkili ilke deyimini alır veya ayarlar.

(Devralındığı yer: CodeGroup)

Yöntemler

AddChild(CodeGroup)

Geçerli kod grubuna bir alt kod grubu ekler.

(Devralındığı yer: CodeGroup)
AddConnectAccess(String, CodeConnectAccess)

Belirtilen bağlantı erişimini geçerli kod grubuna ekler.

Copy()

Geçerli kod grubunun derin bir kopyasını oluşturur.

CreateXml(SecurityElement, PolicyLevel)

Türetilmiş bir sınıfta geçersiz kılındığında, türetilmiş bir kod grubuna özgü özellikleri ve iç durumu serileştirir ve serileştirmeyi belirtilen SecurityElementöğesine ekler.

(Devralındığı yer: CodeGroup)
Equals(CodeGroup, Boolean)

Belirtilen kod grubunun geçerli kod grubuyla eşdeğer olup olmadığını belirler ve belirtilmişse alt kod gruplarını da denetler.

(Devralındığı yer: CodeGroup)
Equals(Object)

Belirtilen kod grubunun geçerli kod grubuyla eşdeğer olup olmadığını belirler.

Equals(Object)

Belirtilen kod grubunun geçerli kod grubuyla eşdeğer olup olmadığını belirler.

(Devralındığı yer: CodeGroup)
FromXml(SecurityElement)

Xml kodlamasından belirli bir duruma sahip bir güvenlik nesnesini yeniden oluşturur.

(Devralındığı yer: CodeGroup)
FromXml(SecurityElement, PolicyLevel)

Belirli bir durum ve ilke düzeyine sahip bir güvenlik nesnesini XML kodlamasından yeniden oluşturur.

(Devralındığı yer: CodeGroup)
GetConnectAccessRules()

Geçerli kod grubu için bağlantı erişim bilgilerini alır.

GetHashCode()

Geçerli kod grubunun karma kodunu alır.

GetHashCode()

Geçerli kod grubunun karma kodunu alır.

(Devralındığı yer: CodeGroup)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ParseXml(SecurityElement, PolicyLevel)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen SecurityElementöğesinden türetilmiş bir kod grubuna özgü özellikleri ve iç durumu yeniden oluşturur.

(Devralındığı yer: CodeGroup)
RemoveChild(CodeGroup)

Belirtilen alt kod grubunu kaldırır.

(Devralındığı yer: CodeGroup)
ResetConnectAccess()

Geçerli kod grubu için tüm bağlantı erişim bilgilerini kaldırır.

Resolve(Evidence)

Bir kanıt kümesi için kod grubu ve alt öğeleri için ilkeyi çözümler.

ResolveMatchingCodeGroups(Evidence)

Eşleşen kod gruplarını çözümler.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
ToXml()

Güvenlik nesnesinin ve geçerli durumunun XML kodlamasını oluşturur.

(Devralındığı yer: CodeGroup)
ToXml(PolicyLevel)

Güvenlik nesnesinin, geçerli durumunun ve kodun içinde bulunduğu ilke düzeyinin XML kodlamasını oluşturur.

(Devralındığı yer: CodeGroup)

Şunlara uygulanır