分布式会话拦截器2 - 会话判断
生活随笔
收集整理的這篇文章主要介紹了
分布式会话拦截器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);
}
?
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的分布式会话拦截器2 - 会话判断的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringSession实现用户会话
- 下一篇: CAS单点登录 - 用户登录与校验