segurança de acesso do código para aplicativos ClickOnce

Aplicativos ClickOnce são baseados em .NET estrutura e estão sujeitos a segurança de acesso do código restrições.Por esse motivo, é importante que você entenda as implicações do segurança de acesso do código e gravar os aplicativos ClickOnce adequadamente.

segurança de acesso do código é um mecanismo no .NET estrutura que ajuda a limitar o acesso código tem a recursos protegidos e operações.Você deve configurar sempre o segurança de acesso do código permissões para seu aplicativo ClickOnce incluir somente as permissões que seu aplicativo requer.O Visual Studio fornece as ferramentas necessárias para determinar e configurar a permissão definida para o seu aplicativo.

Padrão ClickOnce segurança de acesso do código

Por padrão, um aplicativo ClickOnce recebe permissões de confiança total quando ele é instalado ou executado em um computador cliente.Embora possa haver casos em que são realmente necessárias permissões de confiança total, conceder confiança total permissões geralmente não é uma mercadoria idéia por dois motivos importantes:

  • Um aplicativo que tenha permissões de confiança total tem acesso irrestrito aos recursos, sistema autônomo o sistema de arquivos e registro.Isso potencialmente permite que seu aplicativo (e sistema do usuário participante) ser explorado por códigos mal-intencionados.

  • Quando um aplicativo requer permissões de confiança total, o usuário participante será solicitado a conceder permissões para o aplicativo.Isso significa que o aplicativo realmente não fornece uma experiência de ClickOnce e o aviso pode ser confuso para os usuários menos experientes.

    Observação:

    Ao instalar um aplicativo meio de uma mídia removível sistema autônomo um CD-ROM, o usuário não é solicitado.Além disso, um administrador de rede pode configurar diretiva de rede para que os usuários não são solicitados ao instalar um aplicativo de uma fonte confiável.Para obter mais informações, consulte Visão geral sobre implantação de Aplicativo Confiável.

Por esses motivos, você sempre deve modificar as permissões de segurança de acesso de código para seu aplicativo incluir somente as permissões que seu aplicativo requer.

Configurando permissões de segurança

Você sempre deve configurar seu aplicativo ClickOnce para solicitar as somente as permissões de segurança de acesso do código que ele realmente precisa.Você pode configurar permissões de segurança sobre o Segurança página de do Designer de projeto.

The Segurança página o Designer de projeto contém um Habilitar configurações de segurança do ClickOnce a caixa de seleção.Quando esta caixa de seleção é selecionada, as solicitações de permissão de segurança são adicionadas ao manifesto de implantação para seu aplicativo.Na instalação time, o usuário será solicitado a conceder as permissões se as permissões solicitadas excederem as permissões padrão para a zona da qual o aplicativo será implantado.Para obter mais informações, consulte Como: Habilitar configurações de segurança do ClickOnce.

Implantado a partir de locais diferentes os aplicativos recebem níveis diferentes de permissões sem avisar.Por exemplo, quando um aplicativo for implantado a partir da Internet, ele recebe um conjunto altamente restritivo de permissões.Quando instalada a partir de uma intranet local, ele recebe mais permissões e quando instalou a partir de um CD-ROM, ele recebe permissões de confiança total.

sistema autônomo um ponto de partida para a configuração de permissões, você pode selecionar uma zona de segurança a Zona lista o Segurança página.Se seu aplicativo será implantado potencialmente mais de uma zona, selecionar a zona com o mínimo de permissões.Para iniciar sem quaisquer permissões predefinidas e adicionar as permissões necessárias pelo seu aplicativo por vez, marque o Personalizado região.

Quando uma zona é selecionada, a Permissões lista é atualizada para mostrar as permissões padrão para essa zona; incluídas permissões são indicadas por uma marca de seleção verde.Para obter mais informações, consulte Como: conjunto uma zona de segurança para um aplicativo ClickOnce.

Para limitar ainda mais permissão s, você pode selecionar um permissão conjunto e modificar suas propriedades.Por exemplo, se seu aplicativo tiver que exibir um em em aberto arquivo caixa de diálogo de a FileDialogPermission conjunto concede o direito para exibir caixas de diálogo.Por padrão, esse conjunto de permissões habilita tanto em em aberto arquivo and Salvar arquivo caixas de diálogo.Para modificar isso, clicar no FileDialogPermission conjunto, clicar Propriedades to em aberto a Configurações de permissão caixa de diálogo e conjunto a permissão para Diálogo em aberto somente.Para obter mais informações, consulte Como: conjunto permissões personalizadas para um aplicativo ClickOnce.

Observação:

Propriedades que podem ser conjunto variam de acordo com a permissão conjunto; não todas as permissões conjunto s possui propriedades configuráveis.

Você também pode excluir conjuntos de permissão não precisa ou habilitar as permissões que não fazem parte de permissões padrão de uma região.Para fazer isso, a seleção de um valor em oconjunto seletiva lista para a permissão conjunto.As permissões que foram modificadas aparecem em negrito.Se uma permissão tiver sido habilitada e não for parte da zona padrão, um ícone de informações é adicionado ao lado de Incluído marca de seleção.

Observação:

Habilitar sistema autônomo permissões que não fazem parte de uma zona padrão fará com que o usuário participante a ser solicitado conforme observado anteriormente neste tópico .Quando Ativar permissões adicionais, você sempre deve modificar a permissão conjunto para incluir somente as permissões que você realmente precisa.

Determinar as permissões necessárias para um aplicativo

Para configurar com eficácia as permissões de segurança, ele ajuda a saber exatamente quais permissões seu aplicativo requer.Você pode usar o Calculadora de permissão ferramenta, disponível a partir de Segurança página, para analisar seu código e determinar as permissões exatas exigidas pelo seu aplicativo.

Observação:

Existem algumas limitações para o Calculadora de permissão ferramenta.A ferramenta executa uma análise estática de código e não pode determinar as permissões necessárias para o código de ligação tardia ou para assemblies carregados dinamicamente.Além disso, se você tiver criado seu aplicativo para modificar dinamicamente suas demandas de permissão quando ele está sendo executado em um ambiente com menos permissões, a ferramenta relata as permissões necessárias máxima.

Depois que a ferramenta tenha analisado o seu aplicativo, todos os necessários estão permissão conjunto s conjunto para Ativado e aparecem no texto em negrito.Se uma permissão ativada não fizer parte da zona padrão, ele também será marcado com um ícone de aviso.Se você quiser impedir que o usuário participante sejam solicitados, você deve examinar esses para determinar se há uma maneira de modificar seu código para que a permissão não é mais necessária.

Para obter mais informações, consulte Como: Determinar as permissões para um aplicativo ClickOnce.

Depurando um aplicativo que possui permissões restritos

sistema autônomo desenvolvedor, provavelmente você executar o computador de desenvolvimento com permissões de confiança total.Portanto, você não vir as exceções de segurança mesmo quando você depurar o aplicativo que os usuários podem ver quando são executados com permissões restritas.

Para capturar essas exceções, você precisa depurar o aplicativo com sistema autônomo mesmas permissões que o usuário participante.Com permissões restritas de depuração pode ser ativada no Segurança página de do Designer de projeto.

Quando você depurar um aplicativo com permissões restritas, exceções serão geradas para quaisquer demandas de segurança de código não foram ativadas no Segurança página.Um exceção auxiliar será exibida, fornecendo sugestões sobre como modificar seu código para evitar que a exceção.

Além disso, quando você escreve um código, o recurso IntelliSense no Editor de código será cinza quaisquer membros que não estão incluídos nas permissões de segurança que você tenha configurado.

Para obter mais informações, consulte Como: Depurar um aplicativo ClickOnce com permissões restritas.

Permissões de segurança para aplicativos hospedados por navegador

O Visual Studio fornece os seguintes tipos de projeto para aplicativos do Windows Presentation Foundation (WPF):

  • aplicativos do Windows WPF

  • Aplicativo de navegação do WPF na Web

  • Biblioteca de controle personalizado WPF

  • Biblioteca de serviços do WPF

Desses tipos de projeto somente WPF Web Browser Applications são hospedados em um navegador da Web e, portanto, requerem especial de implantação e as configurações de segurança.As configurações de segurança padrão para esses aplicativos são:

  • Habilitar configurações de segurança do ClickOnce

  • Este é um aplicativo de confiança parcial

  • Zona da Internet (com a permissão padrão conjunto para aplicativos de navegador da Web de WPF selecionado)

No Configurações de segurança avançadas caixa de diálogo de a Depure este aplicativo com o conjunto de permissões selecionado caixa de seleção é selecionada e desabilitado.Isso ocorre porque o depurar In zona não pode ser desativado para aplicativos hospedados por navegador.

Quando os aplicativos de navegador da Web WPF são implantados usando ClickOnce, eles solicitar um conjunto de permissões (armazenadas no arquivo appname.exe.manifesto) específico.Estes são o padrão definidas as permissões para a permissão de zona da Internet a segurança de acesso do código, juntamente com duas outras permissões:

WebBrowserPermission

MediaPermission

Se você conjunto permissões de não-padrão, o Visual Studio emitirá um aviso informando que o aplicativo está configurado para solicitar uma permissão de não-padrão.Instalação falhará a menos que a diretiva de segurança já foi pressionada para o computador de destino.

Consulte também

Tarefas

Como: Habilitar configurações de segurança do ClickOnce

Como: conjunto uma zona de segurança para um aplicativo ClickOnce

Como: conjunto permissões personalizadas para um aplicativo ClickOnce

Como: Determinar as permissões para um aplicativo ClickOnce

Como: Depurar um aplicativo ClickOnce com permissões restritas

Conceitos

ClickOnce Implantação and Segurança

Visão geral sobre implantação de Aplicativo Confiável

Referência

Página de segurança, Designer de projeto