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

Artigo: 320268 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando você usa um diretório virtual que aponta para um controle remoto compartilhar para hospedar um aplicativo baseado no ASP.NET da Microsoft, você pode receber um erro mensagem que é semelhante a um dos seguintes:

Mensagem 1
Segurança descrição da exceção: O aplicativo tentou executar uma operação não permitida pela diretiva de segurança. Para conceder Este aplicativo a permissão necessária entre em contato com seu sistema administrador ou alterar o nível de confiança do aplicativo de configuração arquivo.

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

Erro de origem:

Linha 30: privada estática bool __intialized = false; Linha 31: Linha 32: Global_asax() pública {linha 33: se ((ASP.Global_asax.__intialized = = false)) {34 linha: ASP.Global_asax.__intialized = true;
Mensagem 2
Erro de servidor em ' /ApplicationName' Aplicativo.

Descrição de erro do analisador: Erro durante a análise de 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 \global.asax linha: 1

Causa

O namespace System. Web não tenha o AllowPartiallyTrustedCallersAttribute aplicado a ele. Para obter mais informações, visite o seguinte Microsoft Developer Site da Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms994923.aspx
Qualquer código que não está no grupo de códigos My_Computer_Zone que faz tem este atributo requer o direito de usuário FullTrust. Portanto, o compartilhamento remoto que contém o conteúdo de aplicativos da Web requer FullTrust.

Resolução

Para resolver esse comportamento, conceda o direito de FullTrust o compartilhamento remoto:
  1. No servidor Web, abra Ferramentas administrativas e então Clique duas vezes Microsoft.NET Framework Configuração.
  2. Expandir Diretiva de segurança de tempo de execução, expandaMáquinae em seguida, expanda Código Grupos.
  3. Com o botão direito All_Codee clique emNovo.
  4. Selecione Criar um novo grupo de código. Dar a sua código de grupo um nome relevante, como o nome do compartilhamento de aplicativos. Clique emAvançar.
  5. No Escolha o tipo de condição para este código grupo lista, selecione URL.
  6. No URL caixa, digite o caminho para o compartilhar 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 de compartilhamento com o nome do compartilhamento.
  7. Clique em Avançar. Na próxima página, selecioneUsar um conjunto de permissões existentee selecioneFullTrust.
  8. Clique em Avançare clique emConcluir.
  9. Reinicie o Serviços de Informações da Internet da Microsoft (IIS) para reiniciar o processo de trabalho ASP.NET.
Se Configuração do Microsoft.NET Framework não é exibido em Ferramentas administrativas, você pode instalar o SDK do.NET Framework para adicionar Configuração do Microsoft.NET Framework. 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-?

Ponto Da Situação

Isso comportamento é por design.

Mais Informação

Nessa configuração, a conta sob a qual o trabalho ASP.NET execução do processo deve ter direitos suficientes para o compartilhamento remoto. Você pode definir a conta sob a qual o trabalho processo é executado usando a marca Processmodel do arquivo Machine. config.

Passos para reproduzir o comportamento

  1. Criar um novo diretório virtual que aponta para um controle remoto Compartilhe.
  2. Crie um aplicativo para o diretório virtual. Fazer Se o usuário que se conecta ao compartilhamento tem acesso de leitura remota conteúdo.
  3. Na marca Processmodel do arquivo Machine. config, altere o usuário para um usuário de domínio quem tem a lista, ler e executar permissões no compartilhamento remoto.
  4. Criar um arquivo. aspx de in-line e, em seguida, coloque o arquivo na compartilhamento remoto.
  5. Fazer uma solicitação para a página.

Referências

Para obter mais informações sobre as permissões que a conta ASPNET requer para executar aplicativos de ASP.NET, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
317012Processo e identidade de solicitação no ASP.NET
Para obter mais informações sobre segurança ASP.NET, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
306590Visão geral de segurança ASP.NET

Propriedades

Artigo: 320268 - Última revisão: domingo, 30 de Setembro de 2012 - Revisão: 8.0
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbsecurity kbwebserver kbprb kbmt KB320268 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 320268

Submeter comentários