SpringMVC 登錄攔截器實現登錄控制


思路,先登錄後,將登錄信息存儲在session中,而後經過攔截器,對系統中的頁面和資源進行訪問攔截,同時對於登錄自己相關的頁面和資源不攔截。java


實現方法:web

/**
 * 登錄攔截器.
 *
 * @author leizhimin 2014/6/26 16:08
 */
public class LoginInterceptor extends HandlerInterceptorAdapter {
    private static final String[] IGNORE_URI = {"/login.jsp", "/Login/","backui/","frontui/"};

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        boolean flag = false;
        String url = request.getRequestURL().toString();
        System.out.println(">>>: " + url);
        for (String s : IGNORE_URI) {
            if (url.contains(s)) {
                flag = true;
                break;
            }
        }
        if (!flag) {
            T_supplier_user user = LoginController.getLoginUser(request);
            if (user != null) flag = true;
        }
        return flag;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        super.postHandle(request, response, handler, modelAndView);
    }
}


    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <bean id="loginInterceptor" class="net.xiucheren.web.interceptor.LoginInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>
相關文章
相關標籤/搜索