2017-06-14 5 views
0

Ich bin mir sicher, dass ich etwas ziemlich Grundlegendes vermisse, aber gibt es eine Möglichkeit, ApiController freizulegen, um ohne Autorisierung zugegriffen zu werden? Entfernen [Authorize] oder Hinzufügen von [AllowAnonymous] scheint nicht zu helfen.Zugriff auf einzelne API ohne Autorisierung zulassen?

namespace Backend.Controllers 
{ 
    [MobileAppController, Authorize] 
    public class RebuildLocalDatabaseCheckController : ApiController 
    { 
     [HttpGet, Route("api/LastLocalDatabaseRebuildRequest")] 
     [AllowAnonymous] 
     public JToken Get() 
     { 
      return JToken.FromObject(DateTimeOffset.Now); 
     } 
    } 
} 

Dies ist für eine Azure Mobile App, die ich Setup für eine UWP App haben. Ich möchte, dass alles andere eine Genehmigung benötigt, und dieser Teil funktioniert gut. Ich möchte diesen Teil nur verfügbar machen, ohne mich vom Benutzer anmelden zu müssen.

Antwort

2

Ich habe Ihren Code auf meiner lokalen Seite überprüft und es könnte wie erwartet funktionieren.

enter image description here enter image description here

Für den anonymen Zugriff benötigen Sie den Authorize von Ihrem RebuildLocalDatabaseCheckController Klasse für alle Aktionen zu entfernen oder die AllowAnonymous für Ihre angegebene Aktion angeben. Weitere Informationen zur benutzerdefinierten API in azure mobile apps-Projekten finden Sie in adrian halls Buch here.

Wenn Sie darüber hinaus App Handy-App Azure, für einen anonymen gegen Ihre benutzerdefinierten API implementiert wurde, müssen Sie App Service Authentication oder aktivieren Sie es mit Anonyme Anmeldung zulassen Anfragen (keine Aktion) wie folgt deaktivieren:

enter image description here

Zusätzlich ist hier ein Blog über Architecture of Azure App Service Authentication/Authorization, Sie es für ein besseres Verständnis von App-Service Authentifizierung/Autorisierung beziehen könnte.

Verwandte Themen