CodeConnectAccess Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa dostęp do zasobów sieciowych, który jest udzielany kodowi.
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
- Dziedziczenie
-
CodeConnectAccess
- Atrybuty
Przykłady
Poniższy przykład kodu tworzy NetCodeGroup obiekt i dodaje go do poziomu zasad użytkownika.
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();
}
Uwagi
Ta klasa jest używana w połączeniu z klasą NetCodeGroup w celu kontrolowania sposobu, w jaki wykonywanie kodu może nawiązać połączenie z witryną, z którego została pobrana. Te klasy zapewniają programową kontrolę WebPermission nad udzielonym wykonywaniem kodu, który kontroluje schematy i porty, których kod może używać do uzyskiwania dostępu do jego lokacji źródłowej. Można określić pary schematów i portów, które są dozwolone na podstawie schematu w adresie URL, z którego pochodzi kod.
Aby utworzyć CodeConnectAccess obiekt na podstawie schematu pochodzenia kodu, użyj CreateOriginSchemeAccess metody .
Aby utworzyć CodeConnectAccess obiekt, który może używać dowolnego schematu, ale jest ograniczony przez port, użyj CreateAnySchemeAccess metody .
Konstruktory
CodeConnectAccess(String, Int32) |
Inicjuje nowe wystąpienie klasy CodeConnectAccess. |
Pola
AnyScheme |
Zawiera wartość ciągu reprezentującą symbol wieloznaczny schematu. |
DefaultPort |
Zawiera wartość używaną do reprezentowania portu domyślnego. |
OriginPort |
Zawiera wartość używaną do reprezentowania wartości portu w identyfikatorze URI, z którego pochodzi kod. |
OriginScheme |
Zawiera wartość używaną do reprezentowania schematu w adresie URL, z którego pochodzi kod. |
Właściwości
Port |
Pobiera port reprezentowany przez bieżące wystąpienie. |
Scheme |
Pobiera schemat identyfikatora URI reprezentowany przez bieżące wystąpienie. |
Metody
CreateAnySchemeAccess(Int32) |
CodeConnectAccess Zwraca wystąpienie reprezentujące dostęp do określonego portu przy użyciu dowolnego schematu. |
CreateOriginSchemeAccess(Int32) |
CodeConnectAccess Zwraca wystąpienie reprezentujące dostęp do określonego portu przy użyciu schematu źródła kodu. |
Equals(Object) |
Zwraca wartość wskazującą, czy dwa CodeConnectAccess obiekty reprezentują ten sam schemat i port. |
GetHashCode() |
Pełni rolę funkcji skrótu dla określonego typu. |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |