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