CodeConnectAccess Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Especifica o acesso aos recursos de rede concedidos ao código.
public ref class CodeConnectAccess
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeConnectAccess
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeConnectAccess = class
Public Class CodeConnectAccess
- Herança
-
CodeConnectAccess
- Atributos
Exemplos
O exemplo de código seguinte cria um NetCodeGroup objeto e adiciona-o ao nível da política de utilizador.
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();
}
Observações
Esta classe é usada em conjunto com a NetCodeGroup classe para controlar como o código em execução pode ligar de volta ao site de onde foi descarregado. Estas classes fornecem controlo programático do WebPermission código concedido em execução, que controla que esquemas e portas o código pode usar para aceder ao seu site de origem. Pode especificar pares de esquema e porta permitidos com base no esquema na URL de onde o código se origina.
Para criar um CodeConnectAccess objeto com base no esquema de origem do código, use o CreateOriginSchemeAccess método.
Para criar um CodeConnectAccess objeto que possa usar qualquer esquema mas que seja limitado pela porta, use o CreateAnySchemeAccess método.
Construtores
| Name | Description |
|---|---|
| CodeConnectAccess(String, Int32) |
Inicializa uma nova instância da CodeConnectAccess classe. |
Campos
| Name | Description |
|---|---|
| AnyScheme |
Contém o valor da cadeia que representa o coringa do esquema. |
| DefaultPort |
Contém o valor usado para representar a porta padrão. |
| OriginPort |
Contém o valor usado para representar o valor da porta no URI onde o código se originou. |
| OriginScheme |
Contém o valor usado para representar o esquema na URL onde o código se originou. |
Propriedades
| Name | Description |
|---|---|
| Port |
Faz com que a porta seja representada pela instância atual. |
| Scheme |
Obtém o esquema URI representado pela instância atual. |
Métodos
| Name | Description |
|---|---|
| CreateAnySchemeAccess(Int32) |
Devolve uma CodeConnectAccess instância que representa o acesso à porta especificada usando qualquer esquema. |
| CreateOriginSchemeAccess(Int32) |
Devolve uma CodeConnectAccess instância que representa o acesso à porta especificada usando o esquema de origem do código. |
| Equals(Object) |
Devolve um valor que indica se dois CodeConnectAccess objetos representam o mesmo esquema e porta. |
| GetHashCode() |
Serve como função de hash para um tipo específico. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |