2016-03-28 11 views
0

私は@RequiresRoles("role")アノテーションで私のRESTメソッドをマークしていると私は(対象は役割が指定された、または認証されていない持っていないとき)401403エラーコードが返されることを期待します、アパッチ史郎は、@RequiresRolesは、401エラーコード

ただし、org.apache.shiro.authz.UnauthorizedExceptionは、javax.servlet.ServletException:で囲まれています。フィルタされた要求が失敗しました。500エラーコードが代わりに返されます。

例外に応じてエラーコードを返すように設定するにはどうすればよいですか?

Thx。

答えて

0

ServletExceptionへのラッピングはJAX-RS仕様でOKです。

例外マッピングプロバイダは、を適切なステータスの応答にマップする必要があります。実装に1つ追加する必要があります。

Response.Status.FORBIDDENとの回答にorg.apache.shiro.authz.UnauthorizedExceptionをマッピングすることをお勧めします。

関連する問題