码迷,mamicode.com
首页 > 其他好文 > 详细

SSM登陆拦截器实现

时间:2018-09-14 20:34:01      阅读:334      评论:0      收藏:0      [点我收藏+]

标签:throw   bool   java   imp   exce   rect   als   void   spring   

首先在springmvc中配置拦截器

   <!-- 配置拦截器 -->
    <mvc:interceptors>
        <mvc:interceptor>
            <!-- 拦截所有mvc控制器 -->
            <mvc:mapping path="/**"/>
            <!-- mvc:exclude-mapping是另外一种拦截,它可以在你后来的测试中对某个页面进行不拦截,这样就不用在
                LoginInterceptor的preHandler方法里面获取不拦截的请求uri地址了(优选) -->
            <mvc:exclude-mapping path="/admin/loginPage.action" />
            <mvc:exclude-mapping path="/admin/varifyCode.action" />
            <bean class="nyist.admin.utils.LoginInterceptor"></bean>
        </mvc:interceptor>
    </mvc:interceptors>

 

然后写拦截器:

public class LoginInterceptor implements HandlerInterceptor {

	@Override
	public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
			throws Exception {
		// TODO Auto-generated method stub

	}

	@Override
	public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
			throws Exception {
		// TODO Auto-generated method stub

	}

	@Override
	public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
		HttpSession session = arg0.getSession();
		//String uri = request.getRequestURI(); // 获取登录的uri,这个是不进行拦截的
		//if(session.getAttribute("LOGIN_USER")!=null || uri.indexOf("system/login")!=-1) {// 说明登录成功 或者 执行登录功能			
		if(session.getAttribute("admin")!=null) {
			// 登录成功不拦截
			return true;
		}else {
			// 拦截后进入登录页面
			arg1.sendRedirect(arg0.getContextPath()+"/admin/loginPage.action");
			return false;
		}
	}
}

  拦截器这样就设置好了

SSM登陆拦截器实现

标签:throw   bool   java   imp   exce   rect   als   void   spring   

原文地址:https://www.cnblogs.com/ITDreamer/p/9648571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!