Permissões de acesso de código
As permissões de acesso do código são objetos de permissão que são usados para ajudar a proteger recursos e operações de uso não autorizado. Eles são parte fundamental do mecanismo do Common Language Runtime para impor restrições de segurança no código gerenciado.
Cada permissão de acesso a código representa um dos seguintes direitos:
O direito de acesso a um recurso protegido, como arquivos ou variáveis de ambiente.
O direito de executar uma operação segura, como acessar código não gerenciado.
Todas as permissões de acesso do código podem ser solicitadas ou exigido pelo código, e o tempo de execução decide, se houver, quais permissões conceder ao código.
Cada permissão de acesso do código é derivado da classe de CodeAccessPermission , o que significa que todas as permissões de acesso de código têm métodos em comum, como Demanda, Declarar, Negar, PermitOnly, IsSubsetOf, Interseccionar, e União.
Em .NET Framework 4, o suporte de tempo de execução foi removido impor Deny, RequestMinimum, RequestOptional, e solicitações de permissão de RequestRefuse . Essas solicitações não devem ser usadas em código que é baseado em .NET Framework 4 ou posterior. Para obter mais informações sobre isso e outras alterações, consulte Alterações na segurança do .NET Framework.
O .NET Framework fornece as seguintes permissões de acesso do código.
Nome da classe de permissão
Direito representado
Recursos de acesso em ambientes de ASP.NET-hosted.
Acesso a classes de System.DirectoryServices.
Acesso ao Sistema de nome de Domínio (DNS).
Ler ou variáveis de ambiente de gravação.
Acesso de leitura ou gravação aos serviços do log de eventos.
Acessar os arquivos selecionados pelo usuário em uma caixa de diálogo de Abrir .
A leitura, acrescentará, ou grava arquivos ou diretórios.
Acessar o armazenamento isolado, que é o armazenamento associado a um usuário específico e com algum aspecto da identidade do código, como seu site, o editor, ou assinatura.
Acessar filas de mensagens por meio de interfaces gerenciadas do serviço de enfileiramento de mensagens do Microsoft (MSMQ).
Acessar uma fonte de dados ODBC.
Bases de dados do usando OLE DB.
Acessar um base de dados Oracle.
Contadores de desempenho de acesso.
Acessar impressoras.
Descobrir informações sobre um tipo em tempo de execução.
Leitura, gravação, criar, excluir ou chaves do Registro e valores.
Execute, declarar permissões, chamar em código não gerenciado, na verificação de busca seletiva, e outros direitos.
Acessar a execução ou serviços parados.
Faça ou aceitar conexões em um endereço de transporte.
Acessar bases de dados do SQL.
Acessar a funcionalidade da interface do usuário.
Faça ou aceitar conexões em um endereço da Web.
Além disso, o .NET Framework fornece as seguintes classes abstratas que você pode usar para criar suas próprias permissões personalizados.