CodeConnectAccess Klasa
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
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 .
Konstruktorów
| Nazwa | Opis |
|---|---|
| CodeConnectAccess(String, Int32) |
Inicjuje nowe wystąpienie klasy CodeConnectAccess. |
Pola
| Nazwa | Opis |
|---|---|
| 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
| Nazwa | Opis |
|---|---|
| Port |
Pobiera port reprezentowany przez bieżące wystąpienie. |
| Scheme |
Pobiera schemat identyfikatora URI reprezentowany przez bieżące wystąpienie. |
Metody
| Nazwa | Opis |
|---|---|
| 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. (Dziedziczone od Object) |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Dziedziczone od Object) |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Dziedziczone od Object) |