Você está offline; aguardando reconexão

CORRECÇÃO: "acesso negado" mensagem de erro ao tentar acessar o serviço de indexação do ASP.NET com representação ativada

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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 323293
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.
Sintomas
Quando você pesquisa contra Index Server por meio de uma página ASP.NET, você receberá a seguinte mensagem de erro:
O acesso foi negado. Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da web. Examine o rastreamento da pilha para obter mais informações sobre o erro e onde foi originado no código.

Detalhes da exceção: System.Data.OleDb.OleDbException: acesso negado.
Esse comportamento é observado somente se você ativar a representação para o aplicativo ASP.NET e se o contexto de segurança sob a qual o processo do operador ASP.NET (Aspnet_wp.exe) é executado é a conta ASPNET.
Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft Windows 2000. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
260910Como obter o service pack mais recente do Windows 2000
Como Contornar
Use um dos seguintes métodos para contornar este problema:
  • Desative a representação para todo o aplicativo ASP.NET. Esta é a configuração padrão.
  • Desative a representação somente para a página .aspx específico que faz a pesquisa do Index Server. Para fazer isso, adicione uma marca <location> para o arquivo Web.config da seguinte maneira:
    <location path="filename.aspx"><system.web>   <identity impersonate="false" /></system.web></location>					
Se essas soluções alternativas não forem aceitáveis para você, você pode alterar o contexto de segurança em que o processo do operador do ASP.NET é executado para a conta do sistema. No entanto, a Microsoft não recomenda que você definir o contexto de segurança do processo de trabalho do ASP.NET como a conta do sistema porque a conta SYSTEM é uma conta de administrador altamente privilegiada no computador do servidor Web. Use esta solução alternativa somente se nenhuma das outras soluções forem aceitáveis para você.

Para alterar o contexto de segurança sob a qual o processo de operador ASP.NET é executado, defina o atributo userName para SYSTEM e, em seguida, defina o atributo senha como autogenerate no <processmodel> seção do arquivo Machine.config. O arquivo Machine.config está localizado na pasta \Microsoft.Net\Framework\v1.0.3705\Config C:\ Windows Directory.
Situação
A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados na seção "Aplica-se a".Esse bug foi corrigido no ASP.NET (incluído com o .NET Framework) 1.1. A Microsoft confirmou que este é um problema no Microsoft Windows 2000. Esse problema foi corrigido primeiro no Microsoft Windows 2000 Service Pack 4.
Mais Informações

Passos para reproduzir o problema

  1. Inicie o Microsoft Visual Studio NET..
  2. Crie um aplicativo ASP.NET.
  3. Adicione o seguinte código em HTML de uma página .aspx:
    <%@ Page language="c#" %><%            System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection("provider=msidxs;");            conn.Open();            string Sql = "Select DocTitle, vpath, characterization, rank from Scope(' DEEP TRAVERSAL OF \"C:\\\" ')  where FREETEXT(' \"ticket\" ') order by rank desc";            System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(Sql, conn);            System.Data.DataSet ds = new System.Data.DataSet();            da.Fill(ds, "SearchResults");            Response.Write("Search Results: <br>");            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)            {                        Response.Write("<br>" + ds.Tables[0].Rows[i]["vpath"].ToString());            }%>					
  4. Modificar o arquivo Web.config para habilitar a representação da seguinte maneira:
    <identity impersonate="true" />					
  5. Verifique se o contexto de segurança sob a qual o processo do operador aspnet_wp.exe é executado é a conta ASPNET. Para fazer isso, defina o atributo userName para máquina e, em seguida, defina o atributo senha como autogenerate no <processmodel> seção do arquivo Machine.config.

    Observação Por padrão, o processo do operador do ASP.NET é definido para ser executado sob o contexto de segurança da conta ASPNET restrito.
  6. Inicie o serviço de indexação no computador.
  7. Criar o aplicativo e abra a página .aspx no seu navegador. Observe que você recebe a mensagem de erro listada na seção "Sintomas".
Referências
Para obter mais informações sobre a representação no ASP.NET, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
306158Como implementar a representação em um aplicativo ASP.NET
Para obter mais informações sobre a identidade de processo do operador ASP.NET, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
317012Processo e solicitação de identidade no ASP.NET

Propriedades

ID do Artigo: 323293 - Última Revisão: 07/05/2006 15:50:24 - Revisão: 3.1

Microsoft ASP.NET 1.0, Microsoft Index Server 2.0, Microsoft OLE DB Provider for Index Server 3.0

  • kbmt kbhotfixserver kbqfe kbwin2ksp4fix kbother kbfix kbbug kbconfig kbnofix kbsecurity KB323293 KbMtpt
Comentários
lIdTokenFrame" style="visibility: hidden; position: absolute; height: 0px; width: 0px; " src="https://login.windows-ppe.net/common/oauth2/authorize?response_type=id_token&client_id=fdf9885b-dd37-42bf-82e5-c3129ef5a302&redirect_uri=https%3A%2F%2Fpreview.support.microsoft.com%2Fsilentauth&state=141b0480-ee36-42c2-973f-99c18fd45d7f%7Cfdf9885b-dd37-42bf-82e5-c3129ef5a302&client-request-id=6b32fa9a-62b2-4978-829f-6db8b91ac9d9&x-client-SKU=Js&x-client-Ver=1.0.11&prompt=none&nonce=2bf3b1b5-e2fc-4fb5-884a-bfc6eee73a02">