zoukankan      html  css  js  c++  java
  • springmvc基于拦截器的身份验证

    请求执行如下图:

    020253086387177.jpg

    需求:拦截未登录的用户访问订单模块。

    1.新建LoginInterceptor实现HandlerInterceptor接口(org.springframework.web.servlet.HandlerInterceptor)

    package com.kye.Interceptors;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    import com.kye.java.User;
    import com.kye.utils.Utils;
    
    public class LoginInterceptor implements HandlerInterceptor {
    
    	public boolean preHandle(HttpServletRequest request,
    			HttpServletResponse response, Object handler) throws Exception {
    
    		String token = request.getParameter("token");
    		User user = Utils.getUserByToken(token);
    		if (user == null) {
    			response.sendRedirect("/unlogin");
    			return false;
    		}
    		return false;
    	}
    
    	public void postHandle(HttpServletRequest request,
    			HttpServletResponse response, Object handler,
    			ModelAndView modelAndView) throws Exception {
    		// TODO Auto-generated method stub
    
    	}
    
    	public void afterCompletion(HttpServletRequest request,
    			HttpServletResponse response, Object handler, Exception ex)
    			throws Exception {
    		// TODO Auto-generated method stub
    
    	}
    
    }

    2.在springmvc.xml中配置

    <mvc:interceptors>
    		<mvc:interceptor>
    			<mvc:mapping path="/order/*" />
    			<bean class="com.kye.Interceptors.LoginInterceptor"></bean>
    		</mvc:interceptor>
    	</mvc:interceptors>

     

  • 相关阅读:
    MongoDB数据查询详解
    MongoDB增加数据
    laravel安装初体验
    操作MongoDB
    MongoDB基本概念和安装配置
    tp5操作mongo
    c语言运算符优先级与while循环案例
    tp5下通过composer实现日志记录功能
    c语言中类型转换与赋值运算符、算术运算符、关系运算符、逻辑运算符。原码、反码、补码。小解。
    scanf使用与运算符
  • 原文地址:https://www.cnblogs.com/wugang/p/14232337.html
Copyright © 2011-2022 走看看