Getting 403 Verbotener Fehler. Die HTTP-Anfrage wurde mit dem Client-Authentifizierungsschema 'Anonym' verboten

8

Dieses Problem, das ich habe, tritt nicht bei allen Clients auf, die auf unsere Dienste zugreifen, aber was konsistent ist, ist, dass wenn der Fehler auftritt, dies bei ein und demselben Serviceaufruf für eine Handvoll Clients geschieht / p>

Hier sind die Details der Ausnahme:

  

System.ServiceModel.Security.MessageSecurityException Die HTTP-Anforderung   war mit Client-Authentifizierungsschema "Anonymous" verboten.   System.ServiceModel.Security.MessageSecurityException: Das HTTP   Anfrage wurde mit Client-Authentifizierungsschema 'Anonym' verboten.    & gt; --- & gt; System.Net.WebException: Der Remote-Server hat einen Fehler zurückgegeben: (403) Verboten. bei System.Net.HttpWebRequest.GetResponse () um   System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply (TimeSpan   Timeout) --- Ende der inneren Ausnahme Stack-Trace --- Server   Stapelverfolgung: um   System.ServiceModel.Security.IssuanceTokenProviderBase 1.DoNegotiation(TimeSpan timeout) at System.ServiceModel.Security.SspiNegotiationTokenProvider.OnOpen(TimeSpan timeout) at System.ServiceModel.Security.TlsnegoTokenProvider.OnOpen(TimeSpan timeout) at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Security.CommunicationObjectSecurityTokenProvider.Open(TimeSpan timeout) at System.ServiceModel.Security.SecurityUtils.OpenTokenProviderIfRequired(SecurityTokenProvider tokenProvider, TimeSpan timeout) at System.ServiceModel.Security.SymmetricSecurityProtocol.OnOpen(TimeSpan timeout) at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Channels.SecurityChannelFactory 1.ClientSecurityChannel 1.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout) at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout) at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout) at System.ServiceModel.Security.SecuritySessionClientSettings 1.ClientSecuritySessionChannel.OnOpen (TimeSpan   Timeout) um   System.ServiceModel.Channels.CommunicationObject.Open (TimeSpan   Timeout) um   System.ServiceModel.Channels.ServiceChannel.OnOpen (TimeSpan-Timeout)
  bei System.ServiceModel.Channels.CommunicationObject.Open (TimeSpan   Timeout) um   System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call (ServiceChannel   Kanal, TimeSpan Timeout) um   System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce (TimeSpan   Timeout, CallOnceManager-Kaskade) um   System.ServiceModel.Channels.ServiceChannel.EnsureOpened (TimeSpan   Timeout) um   System.ServiceModel.Channels.ServiceChannel.Call (String-Aktion,   Boolean oneway, ProxyOperationRuntime-Operation, Object [] ins,   Objekt [] outs, TimeSpan Timeout) um   System.ServiceModel.Channels.ServiceChannel.Call (String-Aktion,   Boolean oneway, ProxyOperationRuntime-Operation, Object [] ins,   Objekt [] outs) bei   System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (IMethodCallMessage   MethodeCall, ProxyOperationRuntime Operation) um   System.ServiceModel.Channels.ServiceChannelProxy.Invoke (IMessage   Meldung) Ausnahme bei [0] erneut ausgelöst: um   System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage   reqMsg, IMessage retMsg) bei   System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData & amp;   msgData, Int32-Typ) um    & gt; Proxy.FileTransferService.IFileTransferService.EstablishProxy (DownloadRequest   Anfrage) bei Proxy.FileTransferService.FileTransferServiceClient.   Proxy.FileTransferService.IFileTransferService.EstablishProxy (DownloadRequest   Anfrage) bei NormalFileTransferServiceClient.Download (Int32   packageId, IStreamWriter Downloader, Archiver Archiver) bei   LoggingFileTransferServiceClient.Download (Int32 packageId, ISt

Diese Ausnahme wird vom Client ausgelöst.

Die Client-Proxy-Konfiguration für IFileTransferService lautet:

%Vor%

Die Servicekonfiguration ist

%Vor%

Hinweis: Einige Clients verwenden das basicHttpBinding (wenn ich alles richtig eingerichtet habe). In späteren Versionen des Clients, die möglicherweise noch nicht vollständig verteilt wurden (weshalb ich 2 Versionen unterstützen muss), habe ich den Proxy so geändert, dass er stattdessen den wsHttpBinding-Endpunkt verwendet. Ich frage mich, ob dieser Fehler, den ich bekomme, spezifisch für basicHttp ist und wenn ja, vielleicht habe ich diese Konfigurationen nicht richtig eingerichtet. Ich gehe davon aus, dass die Clients, die diesen 403-Fehler erhalten, das wsHttpBinding verwenden.

Hier ist der Code für den Service:

%Vor%

Weiß jemand, ob das, was diese Ausnahme loslässt, etwas mit meiner Kontrolle ist? Gibt es Konfigurationsänderungen, die ich in den Client- oder Dienstkonfigurationsdateien vornehmen kann?

Wenn Sie weitere Informationen von mir brauchen, lassen Sie es mich wissen.

    
SideFX 19.10.2011, 19:13
quelle

3 Antworten

3

In meinem Fall stammt dieser Fehler vom HTTP-Proxy-Server unserer Organisation . Gefunden von: MessageSecurityException.InnerException.Response.Headers :

{Mime-Version: 1.0
X-Squid-Fehler: ERR_ACCESS_DENIED 0
X-Cache: MISS von & lt;
X-Cache-Lookup: KEINE von & lt; Proxy-Server-Adresse & gt;
Proxy-Verbindung: schließen
Inhaltslänge: 2165
Inhaltstyp: text / html
Datum: Mi, 25 Apr 2012 10:55:39 GMT
Server: Tintenfisch / 3.0.STABLE25
Via: 1.0 & lt; Proxy-Server-Adresse & gt; (squid / 3.0.STABLE25)
}

In meinem Fall ist es auch bei einer Dateiübertragungsmethode passiert, die Dateibrocken in einem byte -Array der Größe 16384 überträgt. Beim Reduzieren der Größe auf 10000 wurde der Fehler behoben. Dies bedeutet, dass der Proxy-Server eine bestimmte Größenbeschränkung hat.

Auf einem Computer mit direktem Internetzugang ist die Dateiübertragungsmethode mit diesem Fehler nicht fehlgeschlagen, selbst für die Array-Größe & gt; 16384.

Da nur einige Ihrer Clients mit diesem Problem konfrontiert sind, befinden sie sich möglicherweise hinter einem Firewall / Proxy-Server, der den Zugriff tatsächlich blockiert und diesen Fehler zurückgibt?

    
amolbk 25.04.2012 13:05
quelle
0

Es klingt für mich so, als würden die Clients, die MessageSecurityException erhalten, keinen gültigen Benutzernamen / Passwort mit ihrer Anfrage angeben.

Siehe das folgende msdn-Thema Ссылка

    
Sam Shiles 19.10.2011 20:02
quelle
0

Sie haben also einen Web-Service in IIS mit anonymer Authentifizierung konfiguriert, und Sie erhalten einen 403 verbotenen Fehler für nur eine Handvoll Benutzer.

Aus meiner eigenen Erfahrung wird dies normalerweise durch eine Zugriffsverweigerungs-Ausnahme verursacht, wenn auf eine ACL-gesteuerte Systemressource wie das Dateisystem zugegriffen wird.

Jeder Benutzer, der anomal verbunden ist, bearbeitet seine Anfrage (unter der Annahme von IIS 7) durch den w3wp.exe-Prozess, der normalerweise die Anwendungspoolidentität (IIS APPPOOL / AppPoolName) hat, wenn diese Identität keiner der erforderlichen Zugriffssteuerungslisten hinzugefügt wird Zugriff verweigert-Ausnahme wird IIS mit einem 403-Fehler antworten.

Normalerweise füge ich die Identität des Anwendungspools zu einer Gruppe hinzu und füge die Gruppe dann zu den erforderlichen Ressourcen hinzu.

Wenn Sie nicht herausfinden können, welche Ressourcen die Ausnahmebedingung verursachen könnten, suchen Sie im Sicherheitsereignisprotokoll nach "Audit Failure" -Einträgen nach Hinweisen. Möglicherweise müssen Sie die lokale Sicherheitsrichtlinie zum Protokollieren von Sicherheitsereignissen konfigurieren.

viel Glück

    
Robert 03.11.2011 12:02
quelle

Tags und Links