用戶登錄攔截器
阿新 • • 發佈:2018-04-06
oid RR override col 用戶登錄 response 需要 ride red
/** * 用戶登錄攔截器 * @author Administrator * */ public class LoginInterceptor implements HandlerInterceptor { /** * 前處理,執行 handler 之前執行此方法( handler 就是方法 ) */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception { //1.從 cookie 中取 token //判斷 token 是否存在 //2.如果沒有 token,說明是未登錄狀態。跳轉到 sso 系統登錄頁面。用戶登錄成功後,跳轉到當前請求的 url //response.sendRedirect("http://localhost:8080/sso?redirec="+ request.getRequestURL());//不同的工程跳轉,需要 redirect,將當前 url 傳過去 //3.如果取到 token,需要調用 sso 系統的服務,根據 token 取得用戶信息//4.如果 sso 服務沒取到用戶信息。說明登錄過期,跳轉到 sso 系統登錄頁面。用戶登錄成功後,跳轉到當前請求的 url //5.如果 soo 服務取到用戶信息。則把用戶信息放入 request 中 return true; } /** * handler 執行之後,返回 ModelAndView 之前 執行 */ @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)throws Exception { // TODO Auto-generated method stub } /** * 完成處理,返回 ModelAndView 之後 執行 * 可以再次處理異常 */ @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }
用戶登錄攔截器