"Die HTTP-Anforderung ist nicht autorisierte mit client-Authentifizierungsschema "Anonym""
Habe ich eine wcf-Anwendung. getestet auf meinem lokalen Rechner (windows 7 und IIS 7.5), es funktioniert. aber nach bereitgestellt dev-server (windows server 2003, IIS 6). Ich bekam folgende Fehlermeldung.
The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Negotiate,NTLM'.
Server stack trace:
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory`1 factory)
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at ICFIR.ProcessXmlMessage(String xmlDocument)
at CFIRClient.ProcessXmlMessage(String xmlDocument)
Inner Exception:
The remote server returned an error: (401) Unauthorized.
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
Ich in google gesucht für Stunden, fand eine Menge ähnliche Probleme, aber keiner von Ihnen kann es zu beheben. hier ist meine web.config
<basicHttpBinding>
<binding name="ServiceSoap" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="65536" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
InformationsquelleAutor qinking126 | 2013-10-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihrer Erwartung die windows-Authentifizierung, sind Sie auf der gleichen domain, die dein server? wenn Sie sind, müssen Sie zum aktivieren der windows-Authentifizierung wie diese:
wenn Sie nicht wollen, sich zu drehen, dass können schalten Sie andere Authentifizierungsmethoden wie Anonymous oder Zertifikat. Siehe:
http://msdn.microsoft.com/en-us/library/ms729700.aspx
Hinweis: Manchmal, wenn Ihr proxy-server aktiviert ist, die Maschine, die Sie aufrufen, wird es diese Art von Problem zu. In diesem Fall deaktivieren Sie entweder Ihre proxy-oder zur Authentifizierung am proxy.
anderen Sachen zu schauen, ist in Ihrer IIS-website oder web-Anwendung, unter-Authentifizierung stellen Sie sicher, dass Ihr eingeschaltet haben geeignete Authentifizierungsmethoden.
InformationsquelleAutor Bravo11
Dies ist, was Bravo11 Rede....
Das war wirklich stört mich für eine Weile, aber ich endlich ran und in eine Lösung nach dem Versuch, die über viele verschiedene Wege. Wenn Sie einen Dienst erstellen, der in vs2010, wenn Sie wollen, um Windows-als Ihre Sicherheit müssen Sie den Authentifizierungsmodus auf Windows.
können Sie dies entweder in Ihrem Web.config im service oder in IIS 6.0 in der Eigenschaften -> ASP.NET -> Konfiguration Bearbeiten -> Authentifizierung -> Authentifizierung Dropdown-Modus
Wenn Sie sich entscheiden, es zu tun in IIS müssen Sie daran denken, tun Sie es die ganze Zeit oder wird es zurückgesetzt, wenn Sie erneut veröffentlichen.
Hoffe, dies hilft jemand.
InformationsquelleAutor doogie