分布式会话拦截器2 - 会话判断
@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 - 会话判断相关推荐
- smss.exe是什么进程?详解Windows会话管理器中的smss.exe
smss.exe是什么进程?详解Windows会话管理器中的smss.exe 进程综述 smss.exe是什么进程?详解Windows会话管理器中的smss.exe-冯金伟博客园smss.exe是什么 ...
- shiro学习(19): 拦截器
1 拦截器介绍 Shiro使用了与Servlet一样的Filter接口进行扩展:所以如果对Filter不熟悉可以参考<Servlet3.1规范>http://www.iteye.com/b ...
- shiro 拦截器链
Shiro使用了与Servlet一样的Filter接口进行扩展:所以如果对Filter不熟悉可以参考<Servlet3.1规范>http://www.iteye.com/blogs/sub ...
- Struts2内置拦截器的简要介绍
http://www.th7.cn/Program/java/201405/195296.shtml 标记有(*)要着重了解: (1)alias(别名拦截器):允许参数在跨越多个请求时使用不同别名,该 ...
- structs2拦截器详解
Struts2(XWork)提供的拦截器的功能说明: 拦截器 名字 说明 Alias Interceptor alias 在不同请求之间将请求参数在不同名字件转换,请求内容不变 Chaining In ...
- Shiro默认拦截器
默认拦截器 Shiro 内置了很多默认的拦截器,比如身份验证.授权等相关的.默认拦截器可以参考 org.apache.shiro.web.filter.mgt.DefaultFilter 中的枚举拦截 ...
- struts2学习笔记--拦截器(Interceptor)和登录权限验证Demo
理解 Interceptor拦截器类似于我们学过的过滤器,是可以在action执行前后执行的代码.是我们做web开发是经常使用的技术,比如权限控制,日志.我们也可以把多个interceptor连在一起 ...
- 35.使用拦截器实现权限验证
转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 为了说明此问题,我们建立struts2auth项目,流程图如下: 简短说明: ...
- Struts2 自定义拦截器(easy example)
要自定义拦截器需要实现com.opensymphony.xwork2.interceptor.Interceptor接口: 新建一个MyIntercept package com.action;imp ...
最新文章
- 独家 | 决策树VS随机森林——应该使用哪种算法?(附代码链接)
- Unix目录结构的来历
- 在线计算机多功能,一种多功能组合计算机制造技术
- 二十七、深入==与equals的区别(下篇)
- Maven(二):常用命令、依赖管理
- netty系列之:channelPipeline详解
- NLP复习资料(7)-机器翻译、文本分类、情感分析
- angular监听输入框值的变化_angular 实时监听input框value值的变化触发函数方法
- 使用BoobSnail生成任意Excel 4.0 XLM宏文件
- iTextSharp笔记
- 计算机视觉CV目标检测综述
- Coablt strike官方教程中文版
- 判断是否打开相机权限,如果没有打开相机权限
- 模式分解保持函数依赖判断——数据库考试复习
- TPshop项目步骤(二)
- 放射学中基于影像组学和人工智能预测癌症预后
- HTTP 416/412/415状态响应
- 华为手表 GT3训练计划怎么用?
- 用户在电商网站中购买成功了,那么它在微服务中经历了什么(转)
- C++11新特性:移动构造函数和移动赋值