StrongNameIdentityPermission Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define a permissão de identidade para nomes fortes. Esta classe não pode ser herdada.
public ref class StrongNameIdentityPermission sealed : 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
[<System.Serializable>]
type StrongNameIdentityPermission = class
inherit CodeAccessPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StrongNameIdentityPermission = class
inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
- Herança
- Atributos
Observações
Atenção
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 respeitam as anotações do CAS e produzem erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem procurar meios alternativos de realizar tarefas de segurança.
Importante
A partir do .NET Framework 4, as permissões de identidade não são utilizadas.
Nas versões 1.0 e 1.1 do Framework .NET, as permissões de identidade não podem ter um valor de estado de permissão Unrestricted. No .NET Framework versão 2.0 e posteriores, as permissões de identidade podem ter qualquer valor de estado de permissão. Isto 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 exigência de identidade tem sempre sucesso, independentemente da identidade da assembleia, se a assembleia tiver sido concedida total confiança.
Use StrongNameIdentityPermission para confirmar que o código de chamada está num conjunto de código com nome forte específico. Exigências completas para StrongNameIdentityPermission sucesso só se todas as assembleias da pilha tiverem a evidência correta para satisfazer a procura. O Link exige que o uso do StrongNameIdentityPermissionAttribute atributo tenha sucesso apenas se o interlocutor imediato tiver a evidência correta.
Uma identidade forte de nome baseia-se numa chave pública criptográfica chamada objeto binário grande (BLOB), que é opcionalmente combinada com o nome e a versão de um assembly específico. A chave define um espaço de nomes único e fornece uma forte verificação de que o nome é genuíno, porque a definição do nome deve estar numa assembly assinada pela chave privada correspondente.
Note-se que a validade da chave de nome forte não depende de uma relação de confiança ou de qualquer certificado necessariamente emitido para a chave.
Nas versões 1.0 e 1.1 do .NET Framework, as exigências sobre as permissões de identidade são eficazes mesmo quando o assembly que chama é totalmente confiável. Ou seja, mesmo que a assembleia que chama tenha total confiança, um pedido de permissão de identidade falha se a assembleia não cumprir os critérios exigidos. No .NET Framework versão 2.0 e posteriores, as exigências de permissões de identidade são ineficazes se o assembly que chama tiver total confiança. Isto garante consistência para todas as permissões e elimina o tratamento das permissões de identidade como um caso especial.
Para uma descrição completa dos nomes fortes, consulte a StrongName página de referências. Para mais informações sobre assembleias com nomes fortes, veja Assembleias com nomes fortes.
A StrongNameIdentityPermission classe é usada para definir requisitos de nome forte para aceder aos membros públicos de um tipo. O StrongNameIdentityPermissionAttribute atributo pode ser usado para definir requisitos de nome forte ao nível da assembleia. No .NET Framework versão 2.0 e posteriores, também pode usar o atributo InternalsVisibleToAttribute para especificar que todos os tipos não públicos nessa assembly são visíveis para outra assembly. Para obter mais informações, consulte Assemblies de amigos.
Construtores
| Name | Description |
|---|---|
| StrongNameIdentityPermission(PermissionState) |
Inicializa uma nova instância da StrongNameIdentityPermission classe com o especificado PermissionState. |
| StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version) |
Inicializa uma nova instância da StrongNameIdentityPermission classe para a identidade do nome forte especificada. |
Propriedades
| Name | Description |
|---|---|
| Name |
Obtém ou define a parte do nome simples da identidade do nome forte. |
| PublicKey |
Obtém ou define o blob de chave pública que define o namespace de identidade do nome forte. |
| Version |
Obtém ou define o número de versão da identidade. |
Métodos
| Name | Description |
|---|---|
| Assert() |
Declara que o código de chamada pode aceder ao recurso protegido por uma exigência de permissão através do código que chama este método, mesmo que os chamadores mais acima na pilha não tenham recebido permissão para aceder ao recurso. Usar Assert() pode criar problemas de segurança. (Herdado de CodeAccessPermission) |
| Copy() |
Cria e devolve uma cópia idêntica da permissão atual. |
| Demand() |
Força a SecurityException em tempo de execução se todos os chamadores superiores na pilha de chamadas não tiverem recebido a permissão especificada pela instância atual. (Herdado de CodeAccessPermission) |
| Deny() |
Obsoleto.
Impede que os chamadores mais acima na pilha de chamadas usem o código que chama este método para aceder ao recurso especificado pela instância atual. (Herdado de CodeAccessPermission) |
| Equals(Object) |
Determina se o objeto especificado CodeAccessPermission é igual à corrente CodeAccessPermission. (Herdado de CodeAccessPermission) |
| FromXml(SecurityElement) |
Reconstrói uma permissão com um estado especificado a partir de uma codificação XML. |
| GetHashCode() |
Obtém um código hash para o CodeAccessPermission objeto adequado para uso em algoritmos de hash e estruturas de dados, como uma tabela hash. (Herdado de CodeAccessPermission) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| Intersect(IPermission) |
Cria e devolve uma permissão que é a interseção entre a permissão atual e a permissão especificada. |
| IsSubsetOf(IPermission) |
Determina se a permissão atual é um subconjunto da permissão especificada. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| PermitOnly() |
Impede que os chamadores mais acima na pilha de chamadas usem o código que chama este método para aceder a todos os recursos, exceto ao recurso especificado pela instância atual. (Herdado de CodeAccessPermission) |
| ToString() |
Cria e devolve uma representação em cadeia do objeto de permissão atual. (Herdado de CodeAccessPermission) |
| ToXml() |
Cria uma codificação XML da permissão e do seu estado atual. |
| Union(IPermission) |
Cria uma permissão que é a união da permissão atual e da permissão especificada. |