SiteIdentityPermission Classe

Definição

Define a permissão de identidade para o site do qual se origina o código.Defines the identity permission for the Web site from which the code originates. Esta classe não pode ser herdada.This class cannot be inherited.

public ref class SiteIdentityPermission sealed : System::Security::CodeAccessPermission
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class SiteIdentityPermission : System.Security.CodeAccessPermission
type SiteIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class SiteIdentityPermission
Inherits CodeAccessPermission
Herança
SiteIdentityPermission
Atributos

Comentários

Usando essa classe, é possível garantir que os chamadores sejam de um site específico.Using this class, it is possible to ensure that callers are from a specific Web site. A identidade do site só é definida para o código de URLs com protocolos de HTTP, HTTPS e FTP.Site identity is only defined for code from URLs with the protocols of HTTP, HTTPS, and FTP. Um site é a cadeia de caracteres entre "//" após o protocolo de uma URL e o seguinte "/", se presente, por exemplo, www.fourthcoffee.com na URL http://www.fourthcoffee.com/process/grind.htm.A site is the string between the "//" after the protocol of a URL and the following "/", if present, for example, www.fourthcoffee.com in the URL http://www.fourthcoffee.com/process/grind.htm. Isso exclui os números de porta.This excludes port numbers. Se uma determinada URL for http://www.fourthcoffee.com:8000/, o site será www.fourthcoffee.com, não www.fourthcoffee.com:8000.If a given URL is http://www.fourthcoffee.com:8000/, the site is www.fourthcoffee.com, not www.fourthcoffee.com:8000.

Os sites podem corresponder exatamente ou por um prefixo de curinga ("*") no delimitador de ponto.Sites can be matched exactly, or by a wildcard ("*") prefix at the dot delimiter. Por exemplo, a cadeia de caracteres de nome do site *.fourthcoffee.com corresponde fourthcoffee.com, bem como www.fourthcoffee.com.For example, the site name string *.fourthcoffee.com matches fourthcoffee.com as well as www.fourthcoffee.com. Sem um curinga, o nome do site deve ser uma correspondência precisa.Without a wildcard, the site name must be a precise match. A cadeia de caracteres de nome de site * corresponderá a qualquer site, mas não corresponderá a código que não tenha evidências de site.The site name string * will match any site, but will not match code that has no site evidence.

Importante

A partir do .NET Framework 4.NET Framework 4, as permissões de identidade não são usadas.Starting with the .NET Framework 4.NET Framework 4, identity permissions are not used.

Nas versões 1,0 e 1,1 do .NET Framework, as demandas das permissões de identidade são efetivas, mesmo quando o assembly de chamada é totalmente confiável.In the .NET Framework versions 1.0 and 1.1, demands on the identity permissions are effective, even when the calling assembly is fully trusted. Ou seja, embora o assembly de chamada tenha confiança total, uma demanda por uma permissão de identidade falhará se o assembly não atender aos critérios exigidos.That is, although the calling assembly has full trust, a demand for an identity permission fails if the assembly does not meet the demanded criteria. A partir do .NET Framework versão 2,0, as solicitações de permissões de identidade serão ineficazes se o assembly de chamada tiver confiança total.Starting with the .NET Framework version 2.0, demands for identity permissions are ineffective if the calling assembly has full trust. Isso garante a consistência de todas as permissões, eliminando o tratamento de permissões de identidade como um caso especial.This assures consistency for all permissions, eliminating the treatment of identity permissions as a special case.

Observação

Em versões do .NET Framework antes da .NET Framework 4.NET Framework 4, você pode usar o método CodeAccessPermission.Deny para evitar o acesso inadvertido a recursos do sistema por código confiável.In versions of the .NET Framework before the .NET Framework 4.NET Framework 4, you could use the CodeAccessPermission.Deny method to prevent inadvertent access to system resources by trusted code. Deny agora é obsoleto, e o acesso aos recursos agora é determinado exclusivamente pelo conjunto de permissões concedidas para um assembly.Deny is now obsolete, and access to resources is now determined solely by the granted permission set for an assembly. Para limitar o acesso a arquivos, você deve executar código parcialmente confiável em uma área restrita e atribuir permissões a ele somente a recursos que o código tem permissão para acessar.To limit access to files, you must run partially trusted code in a sandbox and assign it permissions only to resources that the code is allowed to access. Para obter informações sobre como executar um aplicativo em uma área restrita, consulte como: executar código parcialmente confiável em uma área restrita.For information about running an application in a sandbox, see How to: Run Partially Trusted Code in a Sandbox.

Observação

No .NET Framework versões 1,0 e 1,1, as permissões de identidade não podem ter um valor de estado de permissão Unrestricted.In the .NET Framework versions 1.0 and 1.1, identity permissions cannot have an Unrestricted permission state value. A partir do .NET Framework versão 2,0, as permissões de identidade podem ter qualquer valor de estado de permissão.Starting with the .NET Framework version 2.0, identity permissions can have any permission state value. Isso significa que, em 2,0 e versões posteriores, as permissões de identidade têm o mesmo comportamento de permissões que implementam a interface IUnrestrictedPermission.This means that in 2.0 and later versions, identity permissions have the same behavior as permissions that implement the IUnrestrictedPermission interface.

Construtores

SiteIdentityPermission(PermissionState)

Inicializa uma nova instância da classe SiteIdentityPermission com PermissionState especificado.Initializes a new instance of the SiteIdentityPermission class with the specified PermissionState.

SiteIdentityPermission(String)

Inicializa uma nova instância da classe SiteIdentityPermission para representar a identidade do site especificada.Initializes a new instance of the SiteIdentityPermission class to represent the specified site identity.

Propriedades

Site

Obtém ou define o site atual.Gets or sets the current site.

Métodos

Assert()

Declara que o código de chamada pode acessar o recurso protegido por uma demanda de permissão através do código que chama este método, mesmo que os chamadores na pilha não tenham recebido permissão para acessar o recurso.Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Usar Assert() pode criar problemas de segurança.Using Assert() can create security issues.

(Herdado de CodeAccessPermission)
Copy()

Cria e retorna uma cópia idêntica da permissão atual.Creates and returns an identical copy of the current permission.

Demand()

Força um SecurityException no tempo de execução se todos os chamadores no topo da pilha de chamadas não receberam as permissões especificadas pela instância atual.Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

(Herdado de CodeAccessPermission)
Deny()

Impede que os chamadores no nível superior da pilha de chamadas usem o código que chama esse método para acessar o recurso especificado pela instância atual.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(Herdado de CodeAccessPermission)
Equals(Object)

Determina se o objeto CodeAccessPermission especificado é igual ao CodeAccessPermission atual.Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Herdado de CodeAccessPermission)
FromXml(SecurityElement)

Reconstrói um a permissão com um estado especificado de uma codificação XML.Reconstructs a permission with a specified state from an XML encoding.

GetHashCode()

Obtém um código hash para o objeto CodeAccessPermission atual, adequado para algoritmos de hash e estruturas de dados, tais como uma tabela de hash.Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Herdado de CodeAccessPermission)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
Intersect(IPermission)

Cria e retorna uma permissão que é a interseção de permissão atual e da permissão especificada.Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission)

Determina se a permissão atual é um subconjunto da permissão especificada.Determines whether the current permission is a subset of the specified permission.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
PermitOnly()

Impede que os chamadores no topo da pilha de chamadas usem o código que chama esse método para acessar todos os recursos, com exceção do recurso especificado pela instância atual.Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance.

(Herdado de CodeAccessPermission)
ToString()

Cria e retorna uma representação de cadeia de caracteres do objeto de permissão atual.Creates and returns a string representation of the current permission object.

(Herdado de CodeAccessPermission)
ToXml()

Cria uma codificação XML da permissão e de seu estado atual.Creates an XML encoding of the permission and its current state.

Union(IPermission)

Cria uma permissão que é a união entre a permissão atual e a permissão especificada.Creates a permission that is the union of the current permission and the specified permission.

Implantações explícitas de interface

IPermission.Demand() (Herdado de CodeAccessPermission)
IStackWalk.Assert() (Herdado de CodeAccessPermission)
IStackWalk.Demand() (Herdado de CodeAccessPermission)
IStackWalk.Deny() (Herdado de CodeAccessPermission)
IStackWalk.PermitOnly() (Herdado de CodeAccessPermission)

Aplica-se a

Veja também