CodeConnectAccess Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica l'accesso alla risorsa di rete consentito per il codice.
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
- Ereditarietà
-
CodeConnectAccess
- Attributi
Esempio
L'esempio di codice seguente crea un NetCodeGroup oggetto e lo aggiunge al livello di criteri User.
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();
}
Commenti
Questa classe viene usata insieme alla NetCodeGroup classe per controllare il modo in cui l'esecuzione del codice può connettersi al sito da cui è stato scaricato. Queste classi forniscono il controllo programmatico dell'oggetto concesso per l'esecuzione WebPermission di codice che controlla quali schemi e porte il codice può usare per accedere al sito di origine. È possibile specificare coppie di schemi e porte consentite in base allo schema nell'URL in cui ha origine il codice.
Per creare un CodeConnectAccess oggetto basato sullo schema di origine del codice, usare il CreateOriginSchemeAccess metodo .
Per creare un CodeConnectAccess oggetto in grado di utilizzare qualsiasi schema ma limitato dalla porta, utilizzare il CreateAnySchemeAccess metodo .
Costruttori
CodeConnectAccess(String, Int32) |
Inizializza una nuova istanza della classe CodeConnectAccess. |
Campi
AnyScheme |
Contiene il valore di stringa che rappresenta il carattere jolly dello schema. |
DefaultPort |
Contiene il valore utilizzato per rappresentare la porta predefinita. |
OriginPort |
Contiene il valore utilizzato per rappresentare il valore della porta nell'URI da cui ha origine il codice. |
OriginScheme |
Contiene il valore utilizzato per rappresentare lo schema nell'URL da cui ha origine il codice. |
Proprietà
Port |
Ottiene la porta rappresentata dall'istanza corrente. |
Scheme |
Ottiene lo schema URI rappresentato dall'istanza corrente. |
Metodi
CreateAnySchemeAccess(Int32) |
Restituisce un'istanza di CodeConnectAccess che rappresenta l'accesso alla porta specificata utilizzando uno schema qualsiasi. |
CreateOriginSchemeAccess(Int32) |
Restituisce un'istanza di CodeConnectAccess che rappresenta l'accesso alla porta specificata utilizzando lo schema di origine del codice. |
Equals(Object) |
Restituisce un valore che indica se due oggetti CodeConnectAccess rappresentano lo stesso schema e la stessa porta. |
GetHashCode() |
Svolge una funzione hash per un tipo particolare. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |