NetCodeGroup Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Uděluje webu oprávnění k webu, ze kterého bylo sestavení staženo. Tato třída se nemůže dědit.
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
- Dědičnost
- Atributy
Příklady
Následující příklad kódu ukazuje vytvoření NetCodeGroup a přidání CodeConnectAccess objektů pro kód stažený pomocí schématu HTTP.
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();
}
Poznámky
Skupiny kódu jsou stavebními bloky zásad zabezpečení přístupu kódu. Každá úroveň zásad se skládá z kořenové skupiny kódu, která může mít jednu nebo více podřízených skupin kódu. Každá podřízená skupina kódu může mít své vlastní podřízené skupiny kódu; toto chování se vztahuje na libovolný počet úrovní, které tvoří strom. Každá skupina kódu má podmínku členství, která určuje, jestli dané sestavení patří do skupiny, na základě důkazů pro toto sestavení. Zásady zabezpečení přístupu kódu používají pouze skupiny kódu, jejichž podmínky členství odpovídají danému sestavení a jejich podřízeným skupinám kódu.
NetCodeGroup má stejnou sémantiku slučování jako součátek UnionCodeGroup; vytváří sjednocení PolicyStatement objektů všech odpovídajících podřízených skupin kódu a PolicyStatement generuje ze vstupního Url důkazu. NetCodeGroup Vrátí však oprávnění obsahující dynamicky počítané WebPermission oprávnění, které uděluje přístup připojení k webu, ze kterého se kód spouští. UnionCodeGroup Jednoduše vrátí sadu statických oprávnění.
NetCodeGroup Při vytvoření obsahuje výchozí pravidla přístupu k připojení uvedená v následující tabulce.
Schéma identifikátoru URI | Pravidlo |
---|---|
– soubor | Není povolen přístup připojení k serveru původu. |
HTTP | Přístup HTTP a HTTPS je povolený pomocí portu původu. |
HTTPS | Přístup HTTPS je povolený pomocí portu původu. |
Schéma a port, které kód může použít při připojování zpět k lokalitě původu, můžete řídit předáním objektu CodeConnectAccess s příslušnými Scheme hodnotami a Port hodnot vlastností metodě AddConnectAccess . Můžete vytvořit pravidlo přístupu připojení, které se použije v případě, že schéma původu není přítomno v důkazu nebo není rozpoznáno zadáním AbsentOriginScheme ("") jako schématu. Můžete také vytvořit pravidlo přístupu k připojení, které se použije v případě, že neexistuje žádné pravidlo přístupu k připojení s odpovídajícím schématem, a to tak, AnyOtherOriginScheme že jako schéma zadáte (*).
Poznámka
Pokud kód neodesílá schéma identifikátoru URI jako důkaz, je přístup povolen pomocí libovolného schématu zpět na původní web.
Konstruktory
NetCodeGroup(IMembershipCondition) |
Inicializuje novou instanci NetCodeGroup třídy. |
Pole
AbsentOriginScheme |
Obsahuje hodnotu, která slouží k zadání přístupu k připojení pro kód s neznámým nebo nerozpoznaným schématem původu. |
AnyOtherOriginScheme |
Obsahuje hodnotu použitou k určení libovolného jiného neurčeného schématu původu. |
Vlastnosti
AttributeString |
Získá řetězcovou reprezentaci atributů zásad příkazu pro skupinu kódu. |
Children |
Získá nebo nastaví seřazený seznam podřízených skupin kódu skupiny kódu. (Zděděno od CodeGroup) |
Description |
Získá nebo nastaví popis skupiny kódu. (Zděděno od CodeGroup) |
MembershipCondition |
Získá nebo nastaví podmínku členství skupiny kódu. (Zděděno od CodeGroup) |
MergeLogic |
Získá logiku, která se má použít pro slučování skupin. |
Name |
Získá nebo nastaví název skupiny kódu. (Zděděno od CodeGroup) |
PermissionSetName |
Získá název NamedPermissionSet pro skupinu kódu. |
PolicyStatement |
Získá nebo nastaví příkaz zásad přidružený ke skupině kódu. (Zděděno od CodeGroup) |
Metody
AddChild(CodeGroup) |
Přidá podřízenou skupinu kódu do aktuální skupiny kódu. (Zděděno od CodeGroup) |
AddConnectAccess(String, CodeConnectAccess) |
Přidá zadaný přístup připojení k aktuální skupině kódu. |
Copy() |
Vytvoří hlubokou kopii aktuální skupiny kódu. |
CreateXml(SecurityElement, PolicyLevel) |
Při přepsání v odvozené třídě serializuje vlastnosti a interní stav specifický pro odvozenou skupinu kódu a přidá serializaci do zadané SecurityElement. (Zděděno od CodeGroup) |
Equals(CodeGroup, Boolean) |
Určuje, zda je zadaná skupina kódu ekvivalentní aktuální skupině kódu, a pokud je zadána, zkontroluje také podřízené skupiny kódu. (Zděděno od CodeGroup) |
Equals(Object) |
Určuje, zda je zadaná skupina kódu ekvivalentní aktuální skupině kódu. |
Equals(Object) |
Určuje, zda je zadaná skupina kódu ekvivalentní aktuální skupině kódu. (Zděděno od CodeGroup) |
FromXml(SecurityElement) |
Rekonstruuje objekt zabezpečení s daným stavem z kódování XML. (Zděděno od CodeGroup) |
FromXml(SecurityElement, PolicyLevel) |
Rekonstruuje objekt zabezpečení s daným stavem a úrovní zásad z kódování XML. (Zděděno od CodeGroup) |
GetConnectAccessRules() |
Získá informace o přístupu připojení pro aktuální skupinu kódu. |
GetHashCode() |
Získá hash kód aktuální skupiny kódu. |
GetHashCode() |
Získá hash kód aktuální skupiny kódu. (Zděděno od CodeGroup) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ParseXml(SecurityElement, PolicyLevel) |
Při přepsání v odvozené třídě rekonstruuje vlastnosti a vnitřní stav specifický pro odvozenou skupinu kódu ze zadané SecurityElementtřídy . (Zděděno od CodeGroup) |
RemoveChild(CodeGroup) |
Odebere zadanou podřízenou skupinu kódu. (Zděděno od CodeGroup) |
ResetConnectAccess() |
Odebere všechny informace o přístupu k připojení pro aktuální skupinu kódu. |
Resolve(Evidence) |
Řeší zásady pro skupinu kódu a její potomky pro sadu důkazů. |
ResolveMatchingCodeGroups(Evidence) |
Řeší odpovídající skupiny kódu. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
ToXml() |
Vytvoří kódování XML objektu zabezpečení a jeho aktuálního stavu. (Zděděno od CodeGroup) |
ToXml(PolicyLevel) |
Vytvoří kódování XML objektu zabezpečení, jeho aktuální stav a úroveň zásad, ve které existuje kód. (Zděděno od CodeGroup) |