SpringSecurityを使用するSpringMVCWebアプリがあります。「ストアが閉じられました」機能を追加したいのですが、ストアを閉じるように設定すると、ユーザーがサイト内のどこに移動しようとしても、「ストアが閉じられました」というページが表示されます。
私は次のようにセキュリティフィルターを実装しました(そしてそれをうまく配線することができます):
public class ClosedFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest req,
HttpServletResponse response,
FilterChain chain) throws ServletException, IOException {
if(storeIsClosed()) {
//do something useful here
}else {
chain.doFilter(req, response);
}
}
}
しかし、「//ここで何か役に立つことをする」ビットに何を入れるべきかわからない。私が試してみました:
throw new StoreIsClosedException(); //extends RuntimeException
しかし、例外を自分のビューにマップすることはできません。私も試しました
response.redirect("myClosedView");
運がない。私が欲しいのは、概念的に次のようなものです。
return new ModelAndView("closed");
ありがとう。