AllowAnonymous-Attribut funktioniert nicht auf dem Web-API-Controller

9

Ich habe eine Web-Anwendung geschrieben in ASP.NET MVC 4. Es ist eine Intranet-Anwendung, daher verwende ich Windows-Authentifizierung (Anonyme Authentifizierung ist ausgeschaltet). Einige Web-API-Dienste werden anderen Webanwendungen zugänglich gemacht Das Problem besteht darin, dass auf diese Dienste von anonymen Benutzern aus anderen Anwendungen zugegriffen werden sollte. Wenn ich den Dienst vom Browser aus anrufe, funktioniert alles (was offensichtlich ist). Wenn ich jedoch versuche, über eine andere Anwendung mit dem Dienst zu kommunizieren, wird der Fehler 401.2 zurückgegeben. Das Dekorieren des API-Controllers mit anonymem Attribut hilft nicht. Ich habe auch versucht, in web.config das location-Element wie im folgenden Code zu setzen:

%Vor%

Aber es hilft auch nicht. In der web.config habe ich keine anderen Abschnitte gesetzt (ich meine, ich habe keinen Autorisierungsblock).

Hat jemand eine Ahnung was los ist? Warum funktioniert es nicht? Ich wäre dankbar für jede Information, wie ich dieses Problem lösen kann.

Dies ist meine Web-API-Aktion, die zu Testzwecken erstellt wurde:

%Vor%


Grüße.

    
Roman Suska 28.05.2015, 12:10
quelle

2 Antworten

4

Ein Kollege von mir hat herausgefunden, dass Sie den Standortpfad mit der tatsächlichen URL festlegen müssen.
Zum Beispiel habe ich einen Controller namens exampleController und Sie greifen darauf wie folgt Ссылка . Dann fügen Sie das folgende Beispiel Ihrer web.config hinzu. Visual Studio wird sich beschweren, aber es funktioniert.

%Vor%     
Arin 22.02.2016 15:19
quelle
0

Überprüfen Sie, ob die IIS-Einstellungen tatsächlich anonymen Zugriff erlauben. Es muss eine Fehlkonfiguration im Server haben. Eine Alternative besteht darin, Fiddler zum Debuggen zu verwenden. Sie tun alles aus der Sicht der Anwendung richtig.

    
beautifulcoder 28.05.2015 12:18
quelle

Tags und Links