2016-03-28 7 views
0

Ich habe meine REST Methode mit @RequiresRoles("role") Annotation markiert, und ich erwarte 401, 403 Fehlercode zurückgegeben werden (wenn das Thema nicht die Rolle angegeben hat oder nicht authentifiziert ist) ,Apache Shiro, @RequiresRoles, 401 Fehlercode

aber org.apache.shiro.authz.UnauthorizedException ist in javax.servlet.ServletException: verpackt Filtered Anfrage fehlgeschlagen 500 Fehlercode wird stattdessen zurückgegeben.

Wie werden Fehlercodes konfiguriert, die je nach Ausnahme zurückgegeben werden?

Thx.

Antwort

0

Einwickeln in ServletException ist OK gemäß JAX-RS-Spezifikation.

Es ist Sache eines Ausnahmekartierungsanbieters, org.apache.shiro.authz.UnauthorizedException einer Antwort mit dem richtigen Status zuzuordnen. Sie sollten einen in Ihrer Implementierung hinzufügen.

Ich würde empfehlen, org.apache.shiro.authz.UnauthorizedException zu einer Antwort mit Response.Status.FORBIDDEN zu mappen.

Verwandte Themen