NetCodeGroup Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Verleent webmachtigingen aan de site van waaruit de assembly is gedownload. Deze klasse kan niet worden overgenomen.
public ref class NetCodeGroup sealed : 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
[<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
- Overname
- Kenmerken
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u een NetCodeGroup object maakt en toevoegt CodeConnectAccess voor code die is gedownload met behulp van het HTTP-schema.
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();
}
Opmerkingen
Codegroepen zijn de bouwstenen van het beveiligingsbeleid voor codetoegang. Elk beleidsniveau bestaat uit een hoofdcodegroep die een of meer onderliggende codegroepen kan hebben. Elke onderliggende codegroep kan een eigen onderliggende codegroep hebben; dit gedrag strekt zich uit tot een willekeurig aantal niveaus, waarbij een boom wordt gevormd. Elke codegroep heeft een lidmaatschapsvoorwaarde die bepaalt of een bepaalde assembly deel uitmaakt van de groep, op basis van het bewijs voor die assembly. Alleen codegroepen waarvan de lidmaatschapsvoorwaarden overeenkomen met een bepaalde assembly, samen met hun onderliggende codegroepen, passen beveiligingsbeleid voor codetoegang toe.
NetCodeGroup heeft dezelfde samenvoegingssemantiek als die van UnionCodeGroup; het vormt de samenvoeging van de PolicyStatement objecten van alle overeenkomende onderliggende codegroepen en het PolicyStatement genereren van het invoerbewijs Url . NetCodeGroup Retourneert echter een machtiging met een dynamisch berekende WebPermission machtiging waarmee verbinding wordt verleend tot de site van waaruit de code wordt uitgevoerd. UnionCodeGroup Retourneert gewoon een statische machtigingenset.
Wanneer een NetCodeGroup wordt gemaakt, bevat deze de standaardregels voor verbindingstoegang die worden weergegeven in de volgende tabel.
| URI-schema | Rule |
|---|---|
| bestand | Er is geen verbindingstoegang tot de oorspronkelijke server toegestaan. |
| http | HTTP- en HTTPS-toegang is toegestaan met behulp van de oorspronkelijke poort. |
| https | HTTPS-toegang is toegestaan met behulp van de oorspronkelijke poort. |
U kunt het schema en de poort bepalen die code mag gebruiken wanneer u verbinding maakt met de oorspronkelijke site door een CodeConnectAccess object met de juiste Scheme en Port eigenschapswaarden door te geven aan de AddConnectAccess methode. U kunt een verbindingstoegangsregel maken die van toepassing is wanneer het oorsprongschema niet aanwezig is in het bewijs of niet wordt herkend door ("") op te geven AbsentOriginScheme als het schema. U kunt ook een verbindingstoegangsregel maken die van toepassing is wanneer er geen verbindingstoegangsregel met een overeenkomend schema is door ("*") op te AnyOtherOriginScheme geven als het schema.
Note
Als de code het URI-schema niet als bewijs indient, is toegang toegestaan met behulp van een schema terug naar de oorspronkelijke site.
Constructors
| Name | Description |
|---|---|
| NetCodeGroup(IMembershipCondition) |
Initialiseert een nieuw exemplaar van de NetCodeGroup klasse. |
Velden
| Name | Description |
|---|---|
| AbsentOriginScheme |
Bevat een waarde die wordt gebruikt om verbindingstoegang op te geven voor code met een onbekend of niet-herkend oorsprongsschema. |
| AnyOtherOriginScheme |
Bevat een waarde die wordt gebruikt om een ander niet-opgegeven oorsprongsschema op te geven. |
Eigenschappen
| Name | Description |
|---|---|
| AttributeString |
Hiermee haalt u een tekenreeksweergave op van de kenmerken van de beleidsinstructie voor de codegroep. |
| Children |
Hiermee haalt u een geordende lijst op van de onderliggende codegroepen van een codegroep of stelt u deze in. (Overgenomen van CodeGroup) |
| Description |
Hiermee haalt u de beschrijving van de codegroep op of stelt u deze in. (Overgenomen van CodeGroup) |
| MembershipCondition |
Hiermee haalt u de lidmaatschapsvoorwaarde van de codegroep op of stelt u deze in. (Overgenomen van CodeGroup) |
| MergeLogic |
Hiermee haalt u de logica op die moet worden gebruikt voor het samenvoegen van groepen. |
| Name |
Hiermee haalt u de naam van de codegroep op of stelt u deze in. (Overgenomen van CodeGroup) |
| PermissionSetName |
Hiermee haalt u de naam van de NamedPermissionSet voor de codegroep op. |
| PolicyStatement |
Hiermee haalt u de beleidsinstructie op die is gekoppeld aan de codegroep of stelt u deze in. (Overgenomen van CodeGroup) |
Methoden
| Name | Description |
|---|---|
| AddChild(CodeGroup) |
Voegt een onderliggende codegroep toe aan de huidige codegroep. (Overgenomen van CodeGroup) |
| AddConnectAccess(String, CodeConnectAccess) |
Hiermee voegt u de opgegeven verbindingstoegang toe aan de huidige codegroep. |
| Copy() |
Hiermee maakt u een grondige kopie van de huidige codegroep. |
| CreateXml(SecurityElement, PolicyLevel) |
Wanneer deze wordt overschreven in een afgeleide klasse, serialiseert u eigenschappen en interne status die specifiek zijn voor een afgeleide codegroep en voegt u de serialisatie toe aan de opgegeven SecurityElement. (Overgenomen van CodeGroup) |
| Equals(CodeGroup, Boolean) |
Bepaalt of de opgegeven codegroep gelijk is aan de huidige codegroep, en controleert ook de onderliggende codegroepen, indien opgegeven. (Overgenomen van CodeGroup) |
| Equals(Object) |
Bepaalt of de opgegeven codegroep gelijk is aan de huidige codegroep. |
| Equals(Object) |
Bepaalt of de opgegeven codegroep gelijk is aan de huidige codegroep. (Overgenomen van CodeGroup) |
| FromXml(SecurityElement, PolicyLevel) |
Hiermee reconstrueert u een beveiligingsobject met een bepaald status- en beleidsniveau op basis van een XML-codering. (Overgenomen van CodeGroup) |
| FromXml(SecurityElement) |
Hiermee wordt een beveiligingsobject met een bepaalde status van een XML-codering gereconstrueerd. (Overgenomen van CodeGroup) |
| GetConnectAccessRules() |
Hiermee haalt u de toegangsgegevens voor de verbinding op voor de huidige codegroep. |
| GetHashCode() |
Hiermee haalt u de hashcode van de huidige codegroep op. |
| GetHashCode() |
Hiermee haalt u de hashcode van de huidige codegroep op. (Overgenomen van CodeGroup) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ParseXml(SecurityElement, PolicyLevel) |
Wanneer deze worden overschreven in een afgeleide klasse, reconstrueert u eigenschappen en interne status die specifiek zijn voor een afgeleide codegroep van de opgegeven SecurityElement. (Overgenomen van CodeGroup) |
| RemoveChild(CodeGroup) |
Hiermee verwijdert u de opgegeven onderliggende codegroep. (Overgenomen van CodeGroup) |
| ResetConnectAccess() |
Hiermee verwijdert u alle toegangsgegevens voor de verbinding voor de huidige codegroep. |
| Resolve(Evidence) |
Hiermee wordt beleid voor de codegroep en de bijbehorende onderliggende onderdelen voor een set bewijs omgezet. |
| ResolveMatchingCodeGroups(Evidence) |
Lost overeenkomende codegroepen op. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| ToXml() |
Hiermee maakt u een XML-codering van het beveiligingsobject en de huidige status. (Overgenomen van CodeGroup) |
| ToXml(PolicyLevel) |
Hiermee maakt u een XML-codering van het beveiligingsobject, de huidige status en het beleidsniveau waarin de code bestaat. (Overgenomen van CodeGroup) |