码迷,mamicode.com
首页 > 编程语言 > 详细

spring boot 使用拦截器 实现 用户登录拦截

时间:2017-10-27 20:33:58      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:object   request   用户   font   line   抽象   需要   str   nbsp   

登录拦截和和权限拦截实现类似
 
首先自定义一个【DefineAdapter】类,这个类我是用来放自定义的配置(比如 自定义请求参数,自定义拦截器等),集成WebMvcConfigurerAdapter 重写他的addInterceptors 方法,将你拦截器的实现类
加入即可,DefineAdapter 代码如下:
 
@Configuration
public class DefineAdapter extends WebMvcConfigurerAdapter {
@Autowired
public RoleInterceptor roleInterceptor;//用户角色拦截器
@Autowired
public LoginInterceptor loginInterceptor;//用户登录拦截器
@Autowired
MeidaRequestDataCustomArgumentResolver meidaRequestDataCustomArgumentResolver;//自定义参数绑定
//自定义参数绑定
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
super.addArgumentResolvers(argumentResolvers);
argumentResolvers.add(meidaRequestDataCustomArgumentResolver);
}
//自定义拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
//用户角色拦截器
registry.addInterceptor(roleInterceptor).
addPathPatterns("/**”);
//用户登录拦截器
registry.addInterceptor(loginInterceptor).
addPathPatterns("/**").
addPathPatterns("/*/login").
addPathPatterns("/*/h5/login").
excludePathPatterns("/switch/*");
super.addInterceptors(registry);
}
 
自定义参数绑定 可以不用管,你就当没有那段代码!!
addInterceptors:添加你自定义拦截器的实现逻辑类
addPathPatterns:添加你要拦截的请求路径,如果有多个路径,就继续addPathPatterns
excludePathPatterns:添加你不需要拦截的请求路径
 
我拦截器具体的实现逻辑是LoginInterceptor 这个类,代码如下:
 
@Service
public class LoginInterceptor extends HandlerInterceptorAdapter { {
    protected static final Log logger = LogFactory.getLog(LoginInterceptor.class);
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){
            
                String userId = request.getParameter("userId");
                if (StringUtils.isNotBlank(userId)){
                return false;
       
        }
}

 

继承 HandlerInterceptorAdapter 抽象类,实现preHandle方法,在里面写你的拦截逻辑。
 
完!

spring boot 使用拦截器 实现 用户登录拦截

标签:object   request   用户   font   line   抽象   需要   str   nbsp   

原文地址:http://www.cnblogs.com/zhangXingSheng/p/7744993.html

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