Share via


StrongNameIdentityPermission Classe

Definição

Cuidado

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

Define a permissão da 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 (Segurança de Acesso do Código) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não aceitam anotações de CAS e produzem erros caso as APIs relacionadas ao CAS sejam usadas. Os desenvolvedores devem buscar meios alternativos de realizar tarefas de segurança.

Importante

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

No .NET Framework versões 1.0 e 1.1, as permissões de identidade não podem ter um valor de estado de Unrestricted permissão. 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 é bem-sucedida, independentemente da identidade do assembly, se o assembly tiver recebido confiança total.

Use StrongNameIdentityPermission para confirmar se o código de chamada está em um assembly de código de nome forte específico. As demandas completas por StrongNameIdentityPermission ê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 é baseada 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 é original, 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.

No .NET Framework versões 1.0 e 1.1, as demandas sobre as permissões de identidade são eficazes mesmo quando o assembly de chamada é totalmente confiável. Ou seja, mesmo que 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. 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 confiança total. 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 de 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 InternalsVisibleToAttribute atributo 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 amigáveis.

Construtores

StrongNameIdentityPermission(PermissionState)
Obsoleto.

Inicializa uma nova instância da classe StrongNameIdentityPermission com o PermissionState especificado.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)
Obsoleto.

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

Propriedades

Name
Obsoleto.

Obtém ou define parte do 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

Assert()
Obsoleto.

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. Usar 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 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.

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

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.

(Herdado de CodeAccessPermission)
Equals(Object)
Obsoleto.

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

(Herdado de CodeAccessPermission)
FromXml(SecurityElement)
Obsoleto.

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

GetHashCode()
Obsoleto.

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.

(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 de 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 Object atual.

(Herdado de Object)
PermitOnly()
Obsoleto.

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.

(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 de seu estado atual.

Union(IPermission)
Obsoleto.

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

Aplica-se a

Confira também