CodeConnectAccess 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í.
Určuje přístup k síťovým prostředkům, který je udělen kódu.
public ref class CodeConnectAccess
public class CodeConnectAccess
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeConnectAccess
type CodeConnectAccess = class
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeConnectAccess = class
Public Class CodeConnectAccess
- Dědičnost
-
CodeConnectAccess
- Atributy
Příklady
Následující příklad kódu vytvoří NetCodeGroup objekt a přidá ho do úrovně zásad uživatele.
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
Tato třída se používá ve spojení s NetCodeGroup třídou k řízení toho, jak se spouštění kódu může připojit zpět k lokalitě, ze které byl stažen. Tyto třídy poskytují programovou kontrolu WebPermission uděleného spuštění kódu, který řídí, jaká schémata a porty kód mohou používat přístup ke své původní lokalitě. Můžete zadat páry schémat a portů, které jsou povoleny na základě schématu v adrese URL, kde kód pochází.
K vytvoření CodeConnectAccess objektu na základě schématu původu kódu použijte metodu CreateOriginSchemeAccess .
Chcete-li vytvořit CodeConnectAccess objekt, který může používat jakékoli schéma, ale je omezen portem, použijte metodu CreateAnySchemeAccess .
Konstruktory
| Name | Description |
|---|---|
| CodeConnectAccess(String, Int32) |
Inicializuje novou instanci CodeConnectAccess třídy. |
Pole
| Name | Description |
|---|---|
| AnyScheme |
Obsahuje řetězcovou hodnotu, která představuje zástupný znak schématu. |
| DefaultPort |
Obsahuje hodnotu použitou k reprezentaci výchozího portu. |
| OriginPort |
Obsahuje hodnotu použitou k reprezentaci hodnoty portu v identifikátoru URI, kde kód pochází. |
| OriginScheme |
Obsahuje hodnotu použitou k reprezentaci schématu v adrese URL, kde kód pochází. |
Vlastnosti
| Name | Description |
|---|---|
| Port |
Získá port reprezentovaný aktuální instancí. |
| Scheme |
Získá schéma identifikátoru URI reprezentované aktuální instancí. |
Metody
| Name | Description |
|---|---|
| CreateAnySchemeAccess(Int32) |
CodeConnectAccess Vrátí instanci, která představuje přístup k zadanému portu pomocí libovolného schématu. |
| CreateOriginSchemeAccess(Int32) |
CodeConnectAccess Vrátí instanci, která představuje přístup k zadanému portu pomocí schématu původu kódu. |
| Equals(Object) |
Vrátí hodnotu určující, zda dva CodeConnectAccess objekty představují stejné schéma a port. |
| GetHashCode() |
Slouží jako hashovací funkce pro určitý typ. |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |