Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Este artigo faz referência o namespace de biblioteca de classes .NET Framework a seguir:
Este artigo passo a passo descreve como passar as credenciais do usuário atual para um XML Web Services que foi criado usando ASP.NET.
A propriedade DefaultCredentials da classe CredentialCache contém as credenciais de sistema do contexto de segurança atual. Para aplicativos cliente, essas credenciais representam o nome de usuário, a senha e o domínio do usuário que está conectado no momento. Credenciais de cliente não são passadas automaticamente. Para passar o contexto de segurança do Windows do cliente para um serviço da Web, você deve definir a propriedade credenciais do proxy do Web service para CredentialCache.DefaultCredentials .
Inicie o Microsoft Visual Studio NET.. Crie um novo projeto ASP.NET Web Service usando Visual translation from VPE for Csharp .NET ou Visual Basic. NET. Por padrão, Service1.asmx é criado.
Nomeie o projeto MyWebService.
No Solution Explorer, clique com o botão direito do mouse em Service1.asmx e, em seguida, clique em View Code .
No arquivo Service1.asmx.cs (ou o arquivo Service1.asmx.vb se você usou o Visual Basic. NET), remover o comentário no padrão WebMethod HelloWorld() .
No menu Build , clique em Build Solution .
Digite o seguinte URL em seu navegador para exibir a descrição do serviço Service1 da Web:
http://localhost/MyWebService/Service1.asmx
Para testar o HelloWorld WebMethod, clique no link HelloWorld . Observe que o WebMethod funciona conforme esperado.
Crie um novo Aplicativo Web ASP.NET usando Visual translation from VPE for Csharp .NET ou Visual Basic. NET. Nomeie o projeto WebServiceTest.
No Solution Explorer, clique com o botão direito do mouse em References e, em seguida, clique em Add Web Reference .
Na caixa de texto endereço , digite a seguinte URL para WebServiceTest:
http://localhost/MyWebService/Service1.asmx
Clique em Ir e, em seguida, clique em Add Reference .
No Solution Explorer, clique com o botão direito do mouse em WebForm1.aspx e, em seguida, clique em View Code .
No Design View do WebForm1, clique duas vezes WebForm1 para abrir o código de evento Page_Load . Altere o código de evento Page_Load da seguinte maneira:
código de exemplo do Visual translation from VPE for Csharp .NET
private void Page_Load(object sender, System.EventArgs e)
{
// Start an instance of the Web Service client-side proxy.
localhost.Service1 myProxy = new localhost.Service1();
Response.Write( myProxy.HelloWorld());
}
Código de exemplo do Visual Basic .NET
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Start an instance of the Web Service client-side proxy.
Dim myProxy As localhost.Service1 = New localhost.Service1()
Response.Write(myProxy.HelloWorld())
End Sub
No menu Build , clique em Build Solution .
Digite o seguinte URL no navegador para exibir o Service1 Web descrição de serviço:
http://localhost/WebServiceTest/WebForm1.aspx
Você receberá uma mensagem de erro acesso negado. Isso ocorre porque suas credenciais não são fornecidas com a solicitação de serviço da Web para autenticação.
A classe CredentialCache pertence ao namespace System.NET .
Adicione a declaração de namespace a seguir na parte superior do arquivo:
código de exemplo do Visual translation from VPE for Csharp .NET
using System.Net;
código de exemplo do Visual Basic .NET
Imports System.Net
Atribua DefaultCredentials para a propriedade credenciais do proxy do lado do cliente serviço da Web. Para fazer isso, altere o código do evento Page_Load da seguinte maneira:
visual translation from VPE for Csharp .NET exemplo:
private void Page_Load(object sender, System.EventArgs e)
{
// Start an instance of the Web service client-side proxy.
localhost.Service1 myProxy = new localhost.Service1();
myProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
Response.Write( myProxy.HelloWorld());
}
Código de exemplo do Visual Basic .NET
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Start an instance of the Web service client-side proxy.
Dim myProxy As localhost.Service1 = New localhost.Service1()
myProxy.Credentials = System.Net.CredentialCache.DefaultCredentials
Response.Write(myProxy.HelloWorld())
End Sub
No menu Debug , clique em Iniciar . Olá mundo aparece no navegador.
Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
811318
(http://support.microsoft.com/kb/811318/EN-US/
)
PROBLEMA: Mensagem de erro "Acesso negado" quando você chamar um serviço Web durante a autenticação anônima está desativada
Para obter mais informações, visite o seguinte site:
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: 813834
(http://support.microsoft.com/kb/813834/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
Diga-nos o porque e o que podemos fazer para melhorar esta informação
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.