2016-11-21 9 views
1

Ich benutze Deadbolt-Bibliothek für die Authentifizierung in meiner playframewrok Server-App, die API für eine andere Frontend-Anwendung enthält. In MyDeadboltHandler Klasse in onAuthFailure Methode, wenn der Benutzer nicht authentifiziert ist I-Status 403 mit dem nächsten Stück Code zurückkehren will:Wie man den Antwortstatus im Deadbolt manipuliert onAuthFailure

@Override 
public F.Promise<Result> onAuthFailure(Http.Context context, String content) { 
    return F.Promise.pure(unauthorized("Authentication Failed")); 
} 

aber in meiner Frontend-Anwendung (Angular 1.5) in meiner Fehler-Handler Im erhaltenen Antwort, die ist einige generische Fehler mit Fehlerstatuscode -1 Wie kann ich meine Methode ändern, um den normalen 403-Fehlerstatus als Antwort zu erhalten?

Antwort

0

Das klingt eher wie ein Wert von Angular selbst emittiert. Wenn Sie Entwickler-Tools in Ihrem Browser verwenden, sollten Sie die eingehende Antwort sehen und es sollte eine 401 sein (nicht autorisiert). Von hier aus sollten Sie in der Lage sein, den Angular-Code zu finden, der damit zu tun hat.

Sie sollten auch in Betracht ziehen, die Antwort abhängig davon zu variieren, ob ein Thema vorhanden ist. Wenn ein Thema vorhanden ist, geben Sie eine 403 zurück. Wenn ein Thema nicht vorhanden ist, geben Sie eine 401.