Criando suas próprias permissões de acesso ao código

O .NET estrutura fornece um conjunto de classes de permissão de acesso de código desenvolvido para ajudar a proteger um conjunto específico de recursos e operações, enfocando os recursos expostos pelo .NET estrutura.Essas classes de permissão são descritas resumidamente o Permissões tópico e, em detalhes a documentação de referência para cada classe de permissão.Para a maioria dos ambientes, as permissões de acesso de código internos são adequadas.No entanto, em algumas situações, pode fazer sentido definir sua própria classe de permissão de acesso do código.Este tópico discute quando, por que e como definir classes de permissão de acesso do código personalizado.

Se você estiver definindo uma biblioteca de classes ou componente que acessa um recurso que não é coberto pelas classes de permissão interna, mas precisa ser protegido contra código não autorizado, você deve considerar a criação de uma classe de permissão de acesso código personalizado.Se você quiser fazer declarativas demandas de permissão personalizada, você também deverá definir um atributo classe para a permissão.Fornecendo essas classes e fazem demandas de permissão do dentro da biblioteca de classes permite que o tempo de execução impedir que códigos não autorizados acessem esse recurso e permite que um administrador configurar os direitos de acesso.

Há outras situações em que uma permissão personalizada pode ser apropriada.Quando uma classe de permissão de acesso do código interno protege um recurso, mas não suficientemente controla o acesso a esse recurso, talvez seja necessário uma permissão de acesso ao código personalizado.Por exemplo, um aplicativo pode usar registros de funcionários para cada funcionário ao qual registro é armazenado em um arquivo separado; nesse caso, acesso de leitura e gravar podem ser controladas independentemente para diferentes tipos de dados de funcionários.Uma ferramenta de gerenciamento interno pôde ser autorizada ler determinadas seções do arquivo de pessoal do funcionário, mas não modificar essas seções.Na verdade, ele não ainda poderá ler algumas seções.

As permissões de acesso ao código personalizadas também são apropriadas em casos onde uma permissão interna existe, mas não está definida de forma que lhe permite proteger adequadamente o recurso.Por exemplo, pode haver um caso no qual há funcionalidade de interface do usuário, sistema autônomo a capacidade de criar menus, que devem ser protegidos, mas não estão protegidos pelo interno UIPermission classe. Nesse caso, você poderia criar uma permissão personalizada para proteger a capacidade de criar menus.

Sempre que possível, as permissões não devem se sobrepor.Ter a permissão mais de uma proteção de um recurso apresenta um problema significativo para administradores, que, em seguida, não deixe de lidar adequadamente com todas as permissões sobrepostas toda vez configurar os direitos para acessar o recurso.

Implementar uma permissão de acesso ao código personalizado envolve as etapas a seguir, alguns deles estão opcionais.Cada etapa é descrita em um tópico separado.

  1. Criar a classe de permissão.

  2. Implementar o IPermission e IUnrestrictedPermission interfaces.

  3. Implementar o ISerializable interface, se necessário, para desempenho ou para dar suporte a tipos de dados especial.

  4. Controlar o XML de codificação e decodificação.

  5. Adicionar suporte para a segurança declarativa, Implementando um Atributo classe.

  6. Demanda de permissão personalizada sua permissão, onde apropriado.

  7. Atualize a diretiva de segurança estar atento a permissão personalizada.

Consulte também

Conceitos

Permissões de segurança

Criar uma permissão

Adicionando suporte à segurança declarativa

Exigindo uma permissão personalizada

Atualização de diretiva de segurança

Referência

FileIOPermission

UIPermission

IPermission

IUnrestrictedPermission

ISerializable

Outros recursos

Segurança de Acesso de código

Estendendo metadados usando atributos