Artigo: 910449 - Última revisão: sexta-feira, 11 de Maio de 2007 - Revisão: 1.4 Resolução de problemas de permissões comuns e problemas relacionados com a segurança no ASP.NET
Coluna de Voz de Suporte do ASP.NETResolução de problemas de permissões comuns e problemas relacionados com a segurança no Microsoft ASP.NETPara personalizar esta coluna às suas necessidades, pretende convidá-lo para submeter as suas ideias sobre os tópicos que lhe interessam e problemas que pretende ver corrigida no futuro artigos da base de dados de conhecimento e colunas de Voz de Suporte. É possível submeter as suas ideias e comentários utilizando a Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) Formulário. Há também uma hiperligação para o formulário na parte inferior nesta coluna.Nesta página Olá, este é A.G Vignesh da equipa do ASP.NET. Bem-vindo à Coluna Voz de Suporte ASP.NET! EU ter sido um engenheiro de suporte Developer durante mais de dois anos agora na Microsoft, e que têm perdi a minha disponibilidade que se baseia nas ASP.NET e Microsoft Internet Information Services (IIS).
O foco desta coluna não será para explicar a segurança do ASP.NET, mas para destacar algumas técnicas de resolução de problemas e sugestões que ajudá-lo-á a isolar e resolver algumas das permissões comuns e cenários de segurança que vemos aqui ao suporte técnico da Microsoft. Permissões e problemas relacionados com a segurança do ASP.NET estão muito bem documentados. Na verdade, existirá boa um número de pessoas que podem ter deparar-se com o mesmo problema antes de lhe. Deste modo, o objectivo é para esta coluna seja um bom local para encontrar informações relevantes e exaustiva sobre a segurança do ASP.NET. Não existe nenhum sentir melhor a corrigir o problema pessoalmente. Ferramentas úteisAntes que tenta corrigir tudo o que é interrompida, é necessário para se familiarizar com ferramentas de alguns que irá ajudar a reduzir o problema. No nosso caso, deveria ser interessado em ferramentas como, por exemplo, FileMon, RegMon, e auditoria de segurança. Para mais informações sobre FileMon, visite o seguinte Web site da Microsoft:http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx
(http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx)
Para mais informações sobre RegMon, visite o seguinte Web site da Microsoft:http://technet.microsoft.com/en-us/sysinternals/bb963881.aspx
(http://technet.microsoft.com/en-us/sysinternals/bb963881.aspx)
Aprofundar para isolar o problema
O que é a mensagem de erro exacto?A primeira pergunta pedir os clientes é, " Qual é a mensagem de erro exacto? " Se você tiver uma descrição simples do accionada pelo Microsoft.NET Framework, a mensagem de erro pode ignorar esta secção. Se a aplicação máscaras a mensagem de erro real e dá-lhe uma mensagem de erro amigáveis em vez disso, como, " Ocorreu um erro inesperado. Entre em contato com o Administrador web site para obter detalhes, " é muito não da quantidade de utilização a qualquer pessoa. Seguem-se de alguns passos que ajudá-lo-á obter a mensagem de erro real.
Sugestão you pode contactar o programador para saber como para visualizar a mensagem de erro real. É possível que o programador pode ser registo-lo para um ficheiro ou obter notificações por correio electrónico. Lembre-se sempre fazer uma cópia de segurança de qualquer ficheiro que vai para alterar Por uma cópia de segurança disponível, que pode recuperar sempre quaisquer alterações. Problema ocorre devido à falta permissões sobre um recurso local que a aplicação do ASP.NET tenta acederSe não for possível obter uma descrição simples do problema por causa de uma mensagem de erro personalizadas, execute FileMon e reproduzir o problema. Pare e guardar a captura como FileMon.xls e abri-lo no Microsoft Excel. No menu ' Dados ', clique em ' filtro ' , e em seguida, clique em Filtro automático para utilizar as capacidades de filtragem do Excel Agora seleccione a lista pendente, na coluna F e procure erros " Acesso DENIED ".Uma saída FileMon de exemplo é mostrada abaixo. 10381 1:01:11 PM w3wp.exe:2320 OPEN C:\winnt\microsoft.net\framework\v1.1.4322\Temporary ASP.NET Files\sessiontest\8832e585\275ec327\global.asax.xml ACCESS DENIED NT AUTHORITY\NETWORK SERVICE 890960
(http://support.microsoft.com/kb/890960/
)
A resolução de problemas do ASP.NET utilizando FileMon
Um passo boa Sugestão seria para alterar a conta do processo do ASP.NET para uma conta de administração para verificar se este resolve o problema. No IIS 5.x iria alterar o NomeUtilizador para " SYSTEM " na secção de modelo do processo do ficheiro Machine.config e no IIS 6.0 iria alterar a identidade IIS AppPool para " sistema " local para verificar se a aplicação funciona.
NOTA isto não deve ser utilizado como uma solução, mas apenas como um passo da resolução de problemas. A maior parte das pessoas iriam tendem a reinstalar o Microsoft.NET Framework ou mesmo Ir para a extensão de reinstalar o sistema operativo. Este é um passo de resolução de problemas não recomendado e não garante que o problema não será reoccur. Eu irá fornecer um exemplo deste tipo. Problemas intermitentes são muitas vezes difíceis de isolar e resolver problemas. Neste cenário de aplicação do cliente funcionaria correctamente por algumas horas, e seguida, tudo de um sudden-lo iria falhar com o erro abaixo. O cliente já tivesse tentado reinstalar o.NET Framework, bem como o sistema operativo. Isto todos para corrigir o problema durante alguns dias, mas seguida-lo reaparecem. Reduzir esta imagem ![]() Executar FileMon não apresentar quaisquer erros DENIED acesso. Todas as permissões necessárias para a conta ASPNET encontravam-se no local. A única forma de recuperar o problema consiste em reiniciar a caixa. Mesmo uma reposição do IIS não ajudaria. Está a pensar " sempre AH, software da Microsoft tem um reinício para recuperar? " Bem, está errado! A chave aqui deve observe atentamente a mensagem de erro. Claramente indica o erro " Não é possível abrir um ficheiro para escrita, " e não o erro DENIED acesso habitual para eu estou a pensar que é algum outro processo que é manter um bloqueio de um ficheiro ou pasta e não permitir ASP.NET ao escrever para que,. Faz sentido que a reiniciar o computador foi matar outro processo e a aplicação do ASP.NET inicia trabalhar novamente até que o processo Rogue bloqueia o ficheiro novamente. A medida lógica a tomar seria para desactivar todos os programas anti-vírus, spyware de terceiros, ou qualquer outro ficheiro monitorização software que é executado no servidor. Não quero de modo a apontar fora qualquer software de terceiros específico. No entanto, em geral, software anti-vírus é conhecido para fazer com que uma grande quantidade de grief para as aplicações IIS e ASP.NET. Outro problema conhecido causado por software anti-vírus é sessão perdas devido a um AppDomain recicla quando a pasta de posição ou os ficheiros.config são processados. Sugestão A forma mais fácil de desactivar os serviços de terceiros consiste em:
NOTA se for o mesmo erro reproduzível 100 por cento do tempo, o software anti-vírus não poderá ser a causa. Só pode existir outras causas para este erro. Tente criar uma aplicação de teste do ASP.NET simples para isolar se ocorre o mesmo erro para uma página Test.aspx. Caso isso aconteça, seguida, verifique se o necessário listas de controlo de acesso (ACL, Access Control List) são tudo no local para o ASP.NET. Consulte ASP.NET necessária listas de controlo de acesso (ACL, access control list): http://msdn2.microsoft.com/en-us/library/kwzs111e.aspx (http://msdn2.microsoft.com/en-us/library/kwzs111e.aspx) Sugestão A pasta %SystemRoot%\Assembly é a cache de assemblagem global. Não é possível utilizar o Explorador do Windows directamente para editar as ACL para esta pasta Em vez disso, utilizar uma linha de comandos e execute o seguinte comando: CACLS %windir%\assembly /e /t /p domain\useraccount:r
Anule em alternativa, antes de utilizar o Explorador do Windows registo Shfusion.dll com o seguinte comando para conceder permissões através do GUI, graphical user interface:
C:\WINDOWS\Microsoft.NET\Framework\ VersionNumber > Shfusion.dll regsvr32ûu Depois de definir permissões com o Windows Explorer, registar Shfusion.dll com o seguinte comando:
C:\WINDOWS\Microsoft.NET\Framework\ VersionNumber > Shfusion.dll regsvr32 Problema ocorre devido à falta permissões sobre um recurso remoto que está a tentar para aceder a aplicação do ASP.NETQuando é a aplicação ASP.NET aceder a um recurso remoto como Microsoft SQL Server ou numa partilha convenção universal (UNC Universal Naming CONVENTION) de atribuição de nomes, existem muitas coisas que podem ir erradas. Para além disso, muitas coisas podem incorrectamente estar configuradas no recurso remoto. É necessário resolver os problemas de modo a que o funcione de recursos. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base)::891031
(http://support.microsoft.com/kb/891031/
)
Problemas de segurança comuns quando se acede recursos remotos a partir de aplicações do ASP.NET
O primeiro passo seria para ver se consegue ligar ao servidor remoto através do Explorador do Windows.
907272
(http://support.microsoft.com/kb/907272/
)
A autenticação Kerberos e a resolução de problemas de delegação
326985
(http://support.microsoft.com/kb/326985/
)
Como resolver problemas relacionadas com Kerberos no IIS
Para obter mais informações sobre os métodos de autenticação do IIS, consulte o seguinte Web site Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa292114(VS.71).aspx
(http://msdn2.microsoft.com/en-us/library/aa292114(VS.71).aspx)
Sugestão se pode ligar à partilha UNC remota mas que não pode ligar ao servidor remoto que executa o SQL Server a partir da aplicação do ASP.NET, seguida, poderá ter de verificar ou definir os nomes principais de serviço (SPN) para o SQL Server. Tente activar apenas a autenticação Básica para a aplicação no IIS e verifique se é capaz de se ligar ao servidor remoto que esteja a executar o SQL Server. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):: 319723
(http://support.microsoft.com/kb/319723/
)
Como utilizar a autenticação Kerberos no SQL Server
316989
(http://support.microsoft.com/kb/316989/
)
Mensagem de erro quando cria uma ligação de dados fidedignos do ASP.NET para o SQL Server: " Início de sessão falhou por utilizador: ' AccountName ' "
Nunca Sugestão it é recomendada a utilização unidades mapeadas para ligar a um recurso remoto porque os mapeamentos de unidade são uma extensão do comando net use e são criados num regime por-utilizador. O método preferencial de aceder ao conteúdo para o servidor Web que existe no computador remoto consiste em utilizar partilhas que se seguem a UNC, Universal Naming CONVENTION. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base)::
257174
(http://support.microsoft.com/kb/257174/
)
Utilizar unidades mapeadas com o IIS
Código do Access de segurança (CAs) relacionadas problemaAs mensagens de erro no ASP.NET são detalhados e, mais frequentemente de contrário, indicar-lhe exactamente o que o problema era causado. Não em alguns casos, FileMon ou RegMon pode capturar nada útil. Vamos observe o evento um essa cenário.CenárioDurante a tentativa de procurar uma aplicação do ASP.NET, falhar com um erro genérico como, por exemplo, o seguinte erro do:Reduzir esta imagem ![]() Tipo de evento: Erro O ASP.NET 1.1.4322.0 Origem do evento: Categoria do evento: Nenhum O ID de evento: 1088 Data: 10 / 11 / 2006 Tempo: 10:54:04 PM Utilizador: N/D ("N/A", nas versões em inglês) Computador: NomeComputador Descrição: Falha ao executar o pedido porque não foi possível criar a aplicações-domínio. Erro: 0x8013150a http://msdn2.microsoft.com/en-us/library/wyts434y.aspx
(http://msdn2.microsoft.com/en-us/library/wyts434y.aspx)
Para resolver este problema, pode tentar este procedimento
Sugestão o " problema ocorre devido à falta permissões sobre um recurso local que a aplicação do ASP.NET tenta aceder " na secção, mas não obtiver disheartened se a aplicação não resolver o problema com uma conta de administrador ou System. Tem de Verifique para ver se o problema pode ser provocado por segurança de acesso de código. Isto poderá facilmente fazê desactivando a segurança de acesso de código utilizando o utilitário Caspol.exe.
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 > caspol-s desactivar Uma vez que executou caspol ûs desactivar , reponha o IIS e tente procurar a aplicação. Se este passo funciona, é necessário verificar o conjunto de permissões para os grupos de código. Você pode acessar os grupos de código na ferramenta ' configuração VersionNumber Microsoft.NET Framework que for encontrado no Ferramentas administrativas (Administrative Tools.
Framework CasPol 1.1.4322.573.NET da Microsoft (R) Copyright (C) Microsoft Corporation 1998-2002. Todos os direitos reservados. Êxito C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 > Neste cenário, a Definir permissões para o grupo de código My_Computer_Zone foi definido como Nothing . O problema resolvido alterá-lo para Fidedignidade Total NOTA para aceder ao grupo de código My_Computer_Zone , siga estes passos:
Para mais informações, consulte Segurança do Access código ASP.NET: http://msdn2.microsoft.com/en-us/library/87x8e4d1.aspx (http://msdn2.microsoft.com/en-us/library/87x8e4d1.aspx) Existem vários outros motivos para a mensagem de erro " Servidor de aplicações indisponível ". O registo de eventos é a melhor opção para obter mais detalhes sobre a causa do seu problema. Os erros relacionados com o IISOs logs do IIS são muito úteis no caso de erros relacionados com a autenticação de acesso do IIS. Um cenário comum é quando o utilizador iria normalmente ver o seguinte procedimento:Reduzir esta imagem ![]() 22:47:28 2006-10-12 W3SVC1 65.52.18.230 Get MyAPP / /login.aspx - 80 Mozilla/4.0+(Compatible;+MSIE+6.0;+Windows+NT+5.2;+SV1;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727;+InfoPath.1) \UserID_91 65.52.22.58 Domíniopessoal 401 5 3
Isto indica em falta permissões de NTFS sobre um ficheiro ou pasta. Este erro pode ocorrer mesmo se as permissões estiverem correctas para o ficheiro que você está tentando acessar, mas as permissões predefinidas e direitos de utilizador podem estar em falta nas outras pastas System e IIS, Internet Information Services. Por exemplo, poderá ver este erro se a conta IUSR_ComputerName não tem acesso ao directório C:\Winnt\System32\Inetsrv. Para mais informações sobre IIS códigos de estado, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base: 318380
(http://support.microsoft.com/kb/318380/
)
Descrição do Internet Information Services (IIS) 5.0 e 6.0 códigos de estado
812614
(http://support.microsoft.com/kb/812614/
)
Permissões e direitos de utilizador predefinidos para o IIS 6.0
271071
(http://support.microsoft.com/kb/271071/
)
O modo de definição necessárias permissões NTFS e direitos de utilizador para um servidor Web do IIS 5.0
Sugestão clique em Iniciar , clique em Executar , e em seguida, escreva
logfiles Para abrir a pasta que contém os registos do IIS. Em alternativa, na página Propriedades para o Web site no IIS, faça clique sobre o separador WebSiteName e em Formato de registo activo , clique em Propriedades para ver o directório do ficheiro de registo e nome.
A outra coisa de interesse aqui são o código de estado 5. Pode utilizar o comando net helpmsg para obter mais informações sobre este código de estado: C:\Documents and Settings\User > net helpmsg 5 O acesso é negado.. C:\Documents and Settings\User > net helpmsg 50
Para obter mais informações sobre como desactivar amigáveis mensagens de erro HTTP, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
O pedido não é suportado.. 294807
(http://support.microsoft.com/kb/294807/
)
Desactivar a funcionalidade " Apresentação " mensagens Erro HTTP amigáveis 5.x e 6.x o Internet Explorer no lado do servidor
A ideia consiste em utilizar todas as informações disponíveis para obter detalhes máximo sobre o problema à mão registadas.
RecursosPara obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base)::306590
(http://support.microsoft.com/kb/306590/
)
Descrição geral da segurança do ASP.NET
317012
(http://support.microsoft.com/kb/317012/
)
Processo e pedido identidade no ASP.NET
Como criar uma conta de serviço para uma aplicação ASP.NET 2.0 Espero que estas técnicas simples são úteis para o ajudar a resolver problemas relacionados segurança e permissões. Lembre-se as colunas de Voz de Suporte são para si! Como sempre, sentir vontade para utilizar o
Ask For It
(http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=)
Formulário para submeter ideias sobre os tópicos que pretende ver com endereço nas colunas futuras ou na base de dados de conhecimento da Microsoft (Knowledge Base).
http://msdn2.microsoft.com/en-us/library/ms998297.aspx (http://msdn2.microsoft.com/en-us/library/ms998297.aspx) Matriz identidade do ASP.NET http://msdn2.microsoft.com/en-us/library/aa302377.aspx (http://msdn2.microsoft.com/en-us/library/aa302377.aspx) Colunas de voz de suporte ASP.NET anteriores http://support.microsoft.com/aspnetpsvc (http://support.microsoft.com/aspnetpsvc)
Tradução automáticaIMPORTANTE: 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). Pedíamos-lhe o favor de preencher o formulário existente no fundo desta página caso venha a encontrar erros neste artigo e tenha possibilidade de colaborar no processo de aperfeiçoamento desta ferramenta. Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 910449
(http://support.microsoft.com/kb/910449/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo


