Segurança de acesso ao código para aplicativos de ClickOnce

ClickOnce aplicativos são baseados na.NET Framework e estão sujeitos a restrições de segurança de acesso do código.Por esse motivo, é importante que você entenda as implicações do código de segurança de acesso e escrevem aplicativos ClickOnce de maneira adequada.

Segurança de acesso ao código é um mecanismo na.NET Framework que ajuda a limitar o acesso que código tem a recursos protegidos e operações.Você deve configurar as permissões de segurança de acesso de código para o seu aplicativo de ClickOnce usar a zona apropriada para o local do instalador do aplicativo.Na maioria dos casos, você pode escolher a Internet zona para um conjunto limitado de permissões ou o Da Intranet Local zona para um maior conjunto de permissões.

Segurança de acesso ao código de ClickOnce padrão

Por padrão, um aplicativo de ClickOnce recebe permissões de confiança total, quando ele é instalado ou executado em um computador cliente.

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

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

    ObservaçãoObservação

    Ao instalar um aplicativo em mídia removível como, por exemplo, um CD-ROM, o usuário não é solicitado.Além disso, um administrador de rede pode configurar a 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 aplicativos confiáveis.

Para restringir as permissões para um aplicativo de ClickOnce, você pode modificar as permissões de segurança de acesso de código para seu aplicativo solicitar a zona que melhor se adapta as permissões que seu aplicativo requer.Na maioria dos casos, você pode selecionar a zona a partir do qual o aplicativo está sendo implantado.Por exemplo, se seu aplicativo é uma aplicação empresarial, você pode usar o Da Intranet Local zona.Se seu aplicativo for um aplicativo da internet, você pode usar o Internet zona.

Configurando permissões de segurança

Você sempre deve configurar seu aplicativo de ClickOnce para solicitar a zona apropriada para limitar as permissões de segurança de acesso de código.Você pode configurar as permissões de segurança na Security página da Project Designer.

O Security de página na Project Designer contém um Ativar configurações de segurança de ClickOnce caixa de seleção.Quando esta caixa de seleção estiver marcada, as solicitações de permissão de segurança são adicionadas para o manifesto de implantação para seu aplicativo.No momento da instalação, o usuário será solicitado para conceder permissões se as permissões solicitadas excederem as permissões padrão para a zona a partir do qual o aplicativo será implantado.Para obter mais informações, consulte Como: Ativar configurações de segurança de ClickOnce.

Aplicativos implantados a partir de locais diferentes são concedidos a diferentes níveis de permissões sem avisar.Por exemplo, quando um aplicativo é implantado pela Internet, ele recebe um conjunto altamente restritivo de permissões.Quando instalado a partir de uma Intranet local, ele recebe mais permissões e quando instalado a partir de um CD-ROM, ele recebe permissões de confiança total.

Como ponto de partida para a configuração de permissões, você pode selecionar uma zona de segurança da zona liste na Security página.Se seu aplicativo será implantado potencialmente mais de uma zona, selecione a zona com o mínimo de permissões.Para obter mais informações, consulte Como: definir uma zona de segurança para um aplicativo de ClickOnce.

As propriedades que podem ser definidas variam por conjunto de permissões; nem todos os conjuntos de permissões possuem propriedades configuráveis.Para obter mais informações sobre a lista completa de permissões que seu aplicativo pode solicitar, consulte System.Security.Permissions.Para obter mais informações sobre como definir permissões para uma zona personalizada, consulte Como: definir permissões personalizadas para um aplicativo de ClickOnce.

Depurando um aplicativo que tem permissões restritas

Como desenvolvedor, é mais provável que você executar seu computador de desenvolvimento com permissões de confiança total.Portanto, você não verá as exceções de segurança mesmo quando você depurar o aplicativo que os usuários podem ver quando executá-lo com permissões restritas.

Para capturar essas exceções, você precisará depurar o aplicativo com as mesmas permissões que o usuário final.Com permissões restritas de depuração pode ser ativada na Security página da Project Designer.

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

Além disso, quando você escreve o código, o recurso de IntelliSense no Editor de código desativará todos os 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 de ClickOnce com permissões restritas.

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

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

  • Aplicativo do Windows WPF

  • Aplicativo de navegador da Web WPF

  • Biblioteca de controle personalizado WPF

  • Biblioteca de serviços do WPF

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

  • Ativar configurações de segurança de ClickOnce

  • Este é um aplicativo parcialmente confiável

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

No Configurações de segurança avançadas caixa de diálogo, o depurar este aplicativo com o conjunto de permissões selecionado caixa de seleção está selecionada e desativada.Isso ocorre porque a depuração na região não pode ser desativado para aplicativos hospedados navegador.Para obter mais informações, consulte Visão geral de aplicativos de navegador XAML do WPF.

Consulte também

Tarefas

Como: Ativar configurações de segurança de ClickOnce

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

Como: definir permissões personalizadas para um aplicativo de ClickOnce

Como: Depurar um aplicativo de ClickOnce com permissões restritas

Referência

Página de segurança, Designer de projeto

Conceitos

Proteção de aplicativos de ClickOnce

Visão geral sobre implantação de aplicativos confiáveis