我有一个使用 Spring Security 的 Spring MVC webapp。我想添加“商店已关闭”功能 - 即,如果我将商店设置为关闭,无论用户尝试在我的网站上导航到哪里,他们最终都会在页面上显示“商店已关闭”。
我已经实现了一个安全过滤器,如下所示(并且可以很好地连接它):
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");
谢谢。