Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês
Esta documentação foi arquivada e não está sendo atualizada.

Classe WebPermission

Controla os direitos de acesso aos recursos de internet HTTP.

Namespace:  System.Net
Assembly:  System (em System.dll)

[SerializableAttribute]
public sealed class WebPermission : CodeAccessPermission, 
	IUnrestrictedPermission

WebPermission Fornece um conjunto de métodos e propriedades para controlar o acesso aos recursos da Internet. Você pode usar um WebPermission para fornecer acesso restrito ou irrestrito a seu recurso com base na PermissionState que é definido quando o WebPermission é criado.

Criar um WebPermission instância chamando seu construtor usando um dos seguintes conjuntos de parâmetros:

The ConnectList e AcceptList Isenção os URIs para a qual você concedeu permissão de acesso. Para adicionar um URI a qualquer uma dessas listas, use AddPermission. Se você passar Accept sistema autônomo o NetworkAccess parâmetro, o URI será adicionado ao AcceptList. WebPermission permitirá conexões à sua classe de destino com correspondência de URIs de AcceptList.

Observação de cuidadoCuidado:

Para Deny acesso para um recurso de Internet, você deve Deny o acesso a todos os caminhos possíveis para esse recurso. Uma abordagem melhor é permitir que o acesso ao recurso específico.Para obter mais informações sobre este assunto, consulte o Usando o Negar método tópico.

ObservaçãoObservação:

Você necessário Deny acesso usando apenas o caminho canônico recurso. Não é necessário usar sintática variações do todo o caminho.

ObservaçãoObservação:

Informações de nome de usuário e padrão porta são removidas das Uri antes da comparação com o argumento expressão regular que é fornecida para o WebPermission(NetworkAccess, Regex) construtor. Se a expressão regular contém as informações do usuário ou o número da porta padrão e, em seguida, todos os entrada Uris não correspondem a expressões regulares.

O exemplo a seguir demonstra como criar uma nova instância de WebPermission usando um Regex. Outros hosts são adicionados para a conectar e aceitam a lista de WebPermission. Finalmente, a conectar e aceitar lista são exibidos no console.

//  Create a Regex that accepts all URLs containing the host fragment www.contoso.com.
Regex myRegex = new Regex(@"http://www\.contoso\.com/.*");

// Create a WebPermission that gives permissions to all the hosts containing the same host fragment.
WebPermission myWebPermission = new WebPermission(NetworkAccess.Connect,myRegex);

//Add connect privileges for a www.adventure-works.com.
myWebPermission.AddPermission(NetworkAccess.Connect,"http://www.adventure-works.com");

//Add accept privileges for www.alpineskihouse.com.
myWebPermission.AddPermission(NetworkAccess.Accept, "http://www.alpineskihouse.com/");

// Check whether all callers higher in the call stack have been granted the permission.
myWebPermission.Demand();

// Get all the URIs with Connect permission.
IEnumerator myConnectEnum = myWebPermission.ConnectList;
Console.WriteLine("\nThe 'URIs' with 'Connect' permission are :\n");
while (myConnectEnum.MoveNext())
{Console.WriteLine("\t" + myConnectEnum.Current);}

// Get all the URIs with Accept permission.	  
IEnumerator myAcceptEnum = myWebPermission.AcceptList;
Console.WriteLine("\n\nThe 'URIs' with 'Accept' permission is :\n");

while (myAcceptEnum.MoveNext())
  {Console.WriteLine("\t" + myAcceptEnum.Current);}



// Create a Regex that accepts all URLs containing the host fragment
// www.contoso.com.
Regex myRegex = new Regex("http://www\\.contoso\\.com/.*");
// Create a WebPermission that gives permissions to all the hosts 
// containing the same host fragment.
WebPermission myWebPermission = new WebPermission(
    NetworkAccess.Connect, myRegex);
//Add connect privileges for a www.adventure-works.com.
myWebPermission.AddPermission(NetworkAccess.Connect,
    "http://www.adventure-works.com");
//Add accept privileges for www.alpineskihouse.com.
myWebPermission.AddPermission(NetworkAccess.Accept,
    "http://www.alpineskihouse.com/");
// Check whether all callers higher in the call stack have been
// granted the permission.
myWebPermission.Demand();
// Get all the URIs with Connect permission.
IEnumerator myConnectEnum = myWebPermission.get_ConnectList();
Console.WriteLine("\nThe 'URIs' with 'Connect' permission are :\n");
while (myConnectEnum.MoveNext()) {
    Console.WriteLine("\t" + myConnectEnum.get_Current());
}
// Get all the URIs with Accept permission.      
IEnumerator myAcceptEnum = myWebPermission.get_AcceptList();
Console.WriteLine("\n\nThe 'URIs' with 'Accept' permission is :\n");

while (myAcceptEnum.MoveNext()) {
    Console.WriteLine("\t" + myAcceptEnum.get_Current());


Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0, 2.0, 1.1, 1.0
Mostrar: