spring 拦截器过滤登录url 不验证是否登录其他的都拦截验证是否登录才能访问url

来源:互联网 发布:unity3d asset store 编辑:程序博客网 时间:2024/05/24 02:54

 

<mvc:interceptors>

        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <bean id="loginInterceptor" class="com.palline.common.plugin.LoginInterceptor" />
        </mvc:interceptor>

    </mvc:interceptors>




package com.palline.common.plugin;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;


import com.palline.system.entity.User;
import com.palline.system.service.imp.UserServiceImp;


public class LoginInterceptor extends HandlerInterceptorAdapter {
    private static final String[] IGNORE_URI = {"/login.jsp","login/login.do","login/logout.do","node/getusernodes.do"};
    @Autowired 
    private UserServiceImp userServiceImp;
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        boolean flag = false;
        String url = request.getRequestURL().toString();
        for (String s : IGNORE_URI) {
            if (url.contains(s)) {
                flag = true;
                break;
            }
        }
       if (!flag) {
            User user = userServiceImp.getLoginUser(request);
            if (user != null) {
            flag = true;
            }else{
            flag = false;
            }
        }
        return flag;
    }
 
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        super.postHandle(request, response, handler, modelAndView);
    }
}

0 0
原创粉丝点击