restful風格做登陸攔截遇到重定向返回不了資料
阿新 • • 發佈:2019-02-06
restful風格,用springmvc的攔截器,在每次請求之前進行session比對,如果過期則重定向到一個controller,因為是前後端分離,所以不能直接重定向到前端登入頁。那麼問題隨之而來:重定向到另一個controller前端是接收不到返回值的。最後為了實現後端攔截功能,在攔截器裡直接把請求轉發。
@Override
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
String requestUri = arg0.getRequestURI(); for (String url : excludedUrls) { if (requestUri.endsWith(url)) { return true; } } HttpSession session = arg0.getSession(); if (session.getAttribute("user") == null) { **arg0.getRequestDispatcher("/tbuser/noUser").forward(arg0, arg1);** //請求轉發,不做任何操作 return false; } else { return true; } }