1. 程式人生 > >restful風格做登陸攔截遇到重定向返回不了資料

restful風格做登陸攔截遇到重定向返回不了資料

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;
    }

}