StrongNameIdentityPermission Classe

Definição

Cuidado

Code Access Security is not supported or honored by the runtime.

Define a permissão de identidade para nomes fortes. Essa classe não pode ser herdada.

public ref class StrongNameIdentityPermission sealed : System::Security::CodeAccessPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
Herança
StrongNameIdentityPermission
Atributos

Comentários

Cuidado

O CAS (Code Access Security) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não honram as anotações CAS e geram erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem buscar meios alternativos para realizar tarefas de segurança.

Importante

A partir do .NET Framework 4, as permissões de identidade não são usadas.

Nas versões 1.0 e 1.1 do .NET Framework, as permissões de identidade não podem ter um valor de estado de permissão de Unrestricted. No .NET Framework versão 2.0 e posterior, as permissões de identidade podem ter qualquer valor de estado de permissão. Isso significa que, na versão 2.0 e versões posteriores, as permissões de identidade têm o mesmo comportamento que as permissões que implementam a IUnrestrictedPermission interface. Ou seja, uma demanda por uma identidade sempre terá êxito, independentemente da identidade do assembly, se o assembly tiver recebido total confiança.

Use StrongNameIdentityPermission para confirmar se o código de chamada está em um assembly de código de nome forte específico. Demandas completas para StrongNameIdentityPermission ter êxito somente se todos os assemblies na pilha tiverem a evidência correta para atender à demanda. O link exige que o uso do StrongNameIdentityPermissionAttribute atributo seja bem-sucedido somente se o chamador imediato tiver a evidência correta.

Uma identidade de nome forte baseia-se em uma chave pública criptográfica chamada BLOB (objeto binário grande), que opcionalmente é combinada com o nome e a versão de um assembly específico. A chave define um namespace exclusivo e fornece uma forte verificação de que o nome é genuíno, pois a definição do nome deve estar em um assembly assinado pela chave privada correspondente.

Observe que a validade da chave de nome forte não depende de uma relação de confiança ou de qualquer certificado necessariamente sendo emitido para a chave.

Nas versões do .NET Framework 1.0 e 1.1, as exigências sobre as permissões de identidade são efetivas mesmo quando o assembly de chamada é totalmente confiável. Ou seja, mesmo que o assembly de chamada tenha total confiança, uma demanda por uma permissão de identidade falhará se o assembly não atender aos critérios exigidos. No .NET Framework versão 2.0 e posterior, as demandas por permissões de identidade serão ineficazes se o assembly de chamada tiver total confiança. Isso garante a consistência de todas as permissões e elimina o tratamento de permissões de identidade como um caso especial.

Para obter uma descrição completa de nomes fortes, consulte a StrongName página de referência. Para obter mais informações sobre assemblies de nome forte, consulte assemblies com nome forte.

A StrongNameIdentityPermission classe é usada para definir requisitos de nome forte para acessar os membros públicos de um tipo. O StrongNameIdentityPermissionAttribute atributo pode ser usado para definir requisitos de nome forte no nível do assembly. No .NET Framework versão 2.0 e posterior, você também pode usar o atributo InternalsVisibleToAttribute para especificar que todos os tipos não públicos nesse assembly estejam visíveis para outro assembly. Para obter mais informações, consulte assemblies friend.

Construtores

Nome Description
StrongNameIdentityPermission(PermissionState)
Obsoleto.

Inicializa uma nova instância da StrongNameIdentityPermission classe com a especificada PermissionState.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)
Obsoleto.

Inicializa uma nova instância da StrongNameIdentityPermission classe para a identidade de nome forte especificada.

Propriedades

Nome Description
Name
Obsoleto.

Obtém ou define a parte de nome simples da identidade de nome forte.

PublicKey
Obsoleto.

Obtém ou define o blob de chave pública que define o namespace de identidade de nome forte.

Version
Obsoleto.

Obtém ou define o número de versão da identidade.

Métodos

Nome Description
Assert()
Obsoleto.

Declara que o código de chamada pode acessar o recurso protegido por uma demanda de permissão por meio do código que chama esse método, mesmo que os chamadores mais altos na pilha não tenham recebido permissão para acessar o recurso. O uso Assert() pode criar problemas de segurança.

(Herdado de CodeAccessPermission)
Copy()
Obsoleto.

Cria e retorna uma cópia idêntica da permissão atual.

Demand()
Obsoleto.

Força um SecurityException tempo de execução se todos os chamadores mais altos na pilha de chamadas não tiverem recebido a permissão especificada pela instância atual.

(Herdado de CodeAccessPermission)
Deny()
Obsoleto.
Obsoleto.

Impede que os chamadores mais altos na pilha de chamadas usem o código que chama esse método para acessar o recurso especificado pela instância atual.

(Herdado de CodeAccessPermission)
Equals(Object)
Obsoleto.

Determina se o objeto especificado CodeAccessPermission é igual ao atual CodeAccessPermission.

(Herdado de CodeAccessPermission)
FromXml(SecurityElement)
Obsoleto.

Reconstrói uma permissão com um estado especificado de uma codificação XML.

GetHashCode()
Obsoleto.

Obtém um código hash para o CodeAccessPermission objeto adequado para uso em algoritmos de hash e estruturas de dados, como uma tabela de hash.

(Herdado de CodeAccessPermission)
GetType()
Obsoleto.

Obtém o Type da instância atual.

(Herdado de Object)
Intersect(IPermission)
Obsoleto.

Cria e retorna uma permissão que é a interseção da permissão atual e da permissão especificada.

IsSubsetOf(IPermission)
Obsoleto.

Determina se a permissão atual é um subconjunto da permissão especificada.

MemberwiseClone()
Obsoleto.

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
PermitOnly()
Obsoleto.

Impede que os chamadores mais altos na pilha de chamadas usem o código que chama esse método para acessar todos os recursos, exceto o recurso especificado pela instância atual.

(Herdado de CodeAccessPermission)
ToString()
Obsoleto.

Cria e retorna uma representação de cadeia de caracteres do objeto de permissão atual.

(Herdado de CodeAccessPermission)
ToXml()
Obsoleto.

Cria uma codificação XML da permissão e seu estado atual.

Union(IPermission)
Obsoleto.

Cria uma permissão que é a união da permissão atual e da permissão especificada.

Aplica-se a

Confira também