SpringMVC登錄攔截器的簡單實現

1.寫一個攔截器,實現HandlerInterceptor接口

/**
 * Created by Jujung
 * Date : 2019/9/23 19:40
 * 登錄攔截器
 */
public class LoginInterceptor implements HandlerInterceptor {

    /**
     * 處理進入handler之前的請求
     * @param request
     * @param response
     * @param o
     * @return
     * @throws Exception
     */
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
        String requestURL = request.getRequestURL().toString();
        // 請求中包含login
        boolean login = requestURL.contains("/login");
        // 請求中包含logout
        boolean logout = requestURL.contains("/logout");
        if( login || logout){
            return true;
        }else{
            HttpSession session = request.getSession();
            Object user = session.getAttribute("loginUser");
            if(user != null){
                return true;
            }

        }
        response.sendRedirect("/login.action");
        return false;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object o, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object o, Exception e) throws Exception {

    }
}

2.在springmvc的配置文件中配置該攔截器

    <!-- 配置攔截器-->
    <mvc:interceptors>
        <!--可以配置多個攔截器按順序執行-->
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <bean class="com.jujung.bos.interceptor.LoginInterceptor"></bean>
        </mvc:interceptor>
    </mvc:interceptors>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章