@Autowired
private RedisOperator redisOperator;
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//        System.out.println("进入到拦截器,被拦截。。。");String userId = request.getHeader("headerUserId");String userToken = request.getHeader("headerUserToken");if (StringUtils.isNotBlank(userId) && StringUtils.isNotBlank(userToken)) {String uniqueToken = redisOperator.get(REDIS_USER_TOKEN + ":" + userId);if (StringUtils.isBlank(uniqueToken)) {
//                System.out.println("请登录...");returnErrorResponse(response, JSONResult.errorMsg("请登录..."));return false;} else {if (!uniqueToken.equals(userToken)) {
//                    System.out.println("账号在异地登录...");returnErrorResponse(response, JSONResult.errorMsg("账号在异地登录..."));return false;}}} else {
//            System.out.println("请登录...");returnErrorResponse(response, JSONResult.errorMsg("请登录..."));return false;}/*** false: 请求被拦截,被驳回,验证出现问题* true: 请求在经过验证校验以后,是OK的,是可以放行的*/return true;
}
/*** 注册拦截器* @param registry*/
@Override
public void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(userTokenInterceptor()).addPathPatterns("/hello").addPathPatterns("/shopcart/add").addPathPatterns("/shopcart/del").addPathPatterns("/address/list").addPathPatterns("/address/add").addPathPatterns("/address/update").addPathPatterns("/address/setDefalut").addPathPatterns("/address/delete").addPathPatterns("/orders/*").addPathPatterns("/center/*").addPathPatterns("/userInfo/*").addPathPatterns("/myorders/*").addPathPatterns("/mycomments/*").excludePathPatterns("/myorders/deliver").excludePathPatterns("/orders/notifyMerchantOrderPaid");WebMvcConfigurer.super.addInterceptors(registry);
}

分布式会话拦截器2 - 会话判断相关推荐

  1. smss.exe是什么进程?详解Windows会话管理器中的smss.exe

    smss.exe是什么进程?详解Windows会话管理器中的smss.exe 进程综述 smss.exe是什么进程?详解Windows会话管理器中的smss.exe-冯金伟博客园smss.exe是什么 ...

  2. shiro学习(19): 拦截器

    1 拦截器介绍 Shiro使用了与Servlet一样的Filter接口进行扩展:所以如果对Filter不熟悉可以参考<Servlet3.1规范>http://www.iteye.com/b ...

  3. shiro 拦截器链

    Shiro使用了与Servlet一样的Filter接口进行扩展:所以如果对Filter不熟悉可以参考<Servlet3.1规范>http://www.iteye.com/blogs/sub ...

  4. Struts2内置拦截器的简要介绍

    http://www.th7.cn/Program/java/201405/195296.shtml 标记有(*)要着重了解: (1)alias(别名拦截器):允许参数在跨越多个请求时使用不同别名,该 ...

  5. structs2拦截器详解

    Struts2(XWork)提供的拦截器的功能说明: 拦截器 名字 说明 Alias Interceptor alias 在不同请求之间将请求参数在不同名字件转换,请求内容不变 Chaining In ...

  6. Shiro默认拦截器

    默认拦截器 Shiro 内置了很多默认的拦截器,比如身份验证.授权等相关的.默认拦截器可以参考 org.apache.shiro.web.filter.mgt.DefaultFilter 中的枚举拦截 ...

  7. struts2学习笔记--拦截器(Interceptor)和登录权限验证Demo

    理解 Interceptor拦截器类似于我们学过的过滤器,是可以在action执行前后执行的代码.是我们做web开发是经常使用的技术,比如权限控制,日志.我们也可以把多个interceptor连在一起 ...

  8. 35.使用拦截器实现权限验证

    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 为了说明此问题,我们建立struts2auth项目,流程图如下: 简短说明: ...

  9. Struts2 自定义拦截器(easy example)

    要自定义拦截器需要实现com.opensymphony.xwork2.interceptor.Interceptor接口: 新建一个MyIntercept package com.action;imp ...

最新文章

  1. 独家 | 决策树VS随机森林——应该使用哪种算法?(附代码链接)
  2. Unix目录结构的来历
  3. 在线计算机多功能,一种多功能组合计算机制造技术
  4. 二十七、深入==与equals的区别(下篇)
  5. Maven(二):常用命令、依赖管理
  6. netty系列之:channelPipeline详解
  7. NLP复习资料(7)-机器翻译、文本分类、情感分析
  8. angular监听输入框值的变化_angular 实时监听input框value值的变化触发函数方法
  9. 使用BoobSnail生成任意Excel 4.0 XLM宏文件
  10. iTextSharp笔记
  11. 计算机视觉CV目标检测综述
  12. Coablt strike官方教程中文版
  13. 判断是否打开相机权限,如果没有打开相机权限
  14. 模式分解保持函数依赖判断——数据库考试复习
  15. TPshop项目步骤(二)
  16. 放射学中基于影像组学和人工智能预测癌症预后
  17. HTTP 416/412/415状态响应
  18. 华为手表 GT3训练计划怎么用?
  19. 用户在电商网站中购买成功了,那么它在微服务中经历了什么(转)
  20. C++11新特性:移动构造函数和移动赋值

热门文章

  1. Leetcode-998 Maximum Binary Tree II(最大二叉树 II)
  2. 知道这些面试技巧,让你的测试求职少走弯路
  3. C# 编码约定(C# 编程指南)
  4. JAVA泛型编程笔记
  5. AutoMapper2
  6. IOS开发报错之Undefined symbols for architecture armv6
  7. Linux 下hosts文件详解
  8. Node基础篇(一)
  9. Python之ORM
  10. UVA10474 Where is the Marble?