"System.Security.SecurityException: erro de segurança" mensagem de erro ao compartilha o diretório virtual aponta para um controle remoto no ASP.NET

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 320268
Sintomas
Quando você usar um diretório virtual que aponta para um compartilhamento remoto para hospedar um aplicativo baseado no ASP.NET da Microsoft, você receberá uma mensagem de erro semelhante a uma das seguintes opções:

Mensagem 1
Descrição da exceção de segurança: O aplicativo tentou executar uma operação não permitida pela diretiva de segurança. Para conceder a esse aplicativo a permissão necessária, contate o administrador do sistema ou alterar o nível de confiança do aplicativo no arquivo de configuração.

Detalhes da exceção: System.Security.SecurityException: erro de segurança.

Erro de origem:

Linha 30: booleano estático privado __intialized = false; Linha 31: Linha 32: Global_asax() pública {linha 33: se ((ASP. Global_asax.__intialized = = false)) {linha 34: ASP. Global_asax.__intialized = verdadeiro;
Mensagem 2
Erro de servidor no ' /ApplicationName' Aplicativo.

Descrição de erro do analisador: Erro ao analisar um recurso necessário para atender esta solicitação. Revise os detalhes do erro específico de análise e modifique o arquivo de origem apropriadamente.

Mensagem de erro do analisador: Não foi possível carregar o tipo 'ApplicationName. Global'.

Erro de origem: linha 1: < % @ Codebehind="Global.asax.cs Aplicativo" Herda = "ApplicationName. "Global %> Arquivo de origem: Caminho do aplicativo linha de \global.asax: 1
Causa
O namespace System. Web não tem o AllowPartiallyTrustedCallersAttribute aplicada a ele. Para obter mais informações, visite o seguinte site da Microsoft Developer Network (MSDN): Qualquer código que não esteja no grupo de código de My_Computer_Zone que não têm este atributo requer o direito de usuário FullTrust. Portanto, o compartilhamento remoto que armazena o conteúdo de aplicativos da Web requer FullTrust.
Resolução
Para resolver esse comportamento, conceda o direito de FullTrust com o compartilhamento remoto:
  1. No servidor Web, abra Ferramentas administrativas e clique em thendouble Microsoft.NET FrameworkConfiguration.
  2. Expanda Diretiva de segurança de tempo de execução,máquinae CodeGroups.
  3. Do mouse em All_Codee, em seguida, clique emnovo.
  4. Selecione criar um novo grupo de códigos. Nomeie yourcode grupo relevantes, como o nome de compartilhamento de aplicativos. Clique emAvançar.
  5. Na lista Escolha o tipo de condição para este grupo de códigos , selecione URL.
  6. Na caixa URL , digite o caminho do theshare no seguinte formato:
    file:///\\NomeDoComputador\nome_do_compartilhamento\ *
    Observação: Substituir nome_do_computador com o nome do computador que está hospedando o compartilhamento remoto. Substituir nome do compartilhamento com o nome do compartilhamento.
  7. Clique em Avançar. Na página seguinte, selecioneusar um conjunto de permissões existentee selecioneFullTrust.
  8. Clique em Avançare, em seguida, clique emConcluir.
  9. Reinicie os Serviços de Informações da Internet da Microsoft (IIS) para reiniciar o processo do operador ASP.NET.
Se a configuração do.NET Framework de Microsoft não for exibido em Ferramentas administrativas, você pode instalar o SDK do.NET Framework para adicionar a configuração do.NET Framework de Microsoft. Como alternativa, você pode executar o seguinte comando para fazer a alteração:
Drive:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe -m -ag 1 -url "file:////\\computername\sharename\*" FullTrust -exclusive on
Observação: Para obter mais informações sobre o que fazem esses argumentos, execute o seguinte comando:
caspol.exe-?
Situação
Esse comportamento é pré-definido.
Mais Informações
Nessa configuração, a conta na qual o processo do operador ASP.NET é executado deve ter direitos suficientes para o compartilhamento remoto. Você pode definir a conta sob a qual o processo do operador é executado usando a marca Processmodel do arquivo Machine. config.

Etapas para reproduzir o comportamento

  1. Crie um novo diretório virtual que aponta para um remoteshare.
  2. Crie um aplicativo para o diretório virtual. Salve o usuário que se conecta ao compartilhamento tem acesso de leitura para o remotecontent.
  3. Na marca Processmodel do arquivo Machine. config, alterar lista de usuário para um domínio userwho, ler e executar permissões no compartilhamento remoto.
  4. Criar um arquivo. aspx de in-line e, em seguida, coloque o arquivo no compartilhamento oEndereço.
  5. Fazer uma solicitação para a página.
Referências
Para obter mais informações sobre as permissões da conta ASPNET requer para executar aplicativos ASP.NET, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:
317012 Processo e identidade de solicitação no ASP.NET
Para obter mais informações sobre a segurança do ASP.NET, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:
306590 Visão geral sobre a segurança do ASP.NET
kbwamSecurity

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 320268 - Última Revisão: 04/10/2016 04:47:00 - Revisão: 7.0

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0

  • kbsecurity kbwebserver kbprb kbmt KB320268 KbMtpt
Comentários