StrongNameIdentityPermission Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |