NetCodeGroup Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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) |