| | |
| | | public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { |
| | | HttpServletRequest request = (HttpServletRequest) servletRequest; |
| | | HttpServletResponse response = (HttpServletResponse) servletResponse; |
| | | String token = resolveToken(request); |
| | | String token = resolveTokenOutCenter(request); |
| | | |
| | | if (!AppContants.TIME_OUT.equals(token)) { |
| | | if (StrUtil.isNotBlank(token)) { |
| | | String redisKey = ""; |
| | | // 根据user-agent判断pc端还是app端 |
| | | if (LoginUserUtils.isBrowser(request)) { |
| | | redisKey = token; |
| | | redisKey = token;; |
| | | } else { |
| | | redisKey = token; |
| | | redisKey = token;; |
| | | } |
| | | |
| | | String loginStr = (String) redisUtils.get(redisKey); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 解析前端传来的token,md5加密后的地址_/api_设备iD |
| | | * 解析前端传来的token,md5加密后的地址_设备iD_/api |
| | | * |
| | | * @param request |
| | | * @return |
| | |
| | | // 去掉令牌前缀 |
| | | String rsaToken = bearerToken.replace(AppContants.TOKEN_START_WITH, ""); |
| | | RSA rsa = new RSA(securityProperties.getPrivateKey(), null); |
| | | String[] tokens = StrUtil.split(rsa.decryptStr(rsaToken, KeyType.PrivateKey), "_"); |
| | | String decryptStr = rsa.decryptStr(rsaToken, KeyType.PrivateKey); |
| | | String[] tokens = StrUtil.split(decryptStr, "_"); |
| | | |
| | | if (StrUtil.isNotEmpty(requestURL) && requestURL.toString().contains(tokens[1])) { |
| | | if (StrUtil.isNotEmpty(requestURL) && requestURL.toString().contains(tokens[2])) { |
| | | return tokens[0]; |
| | | } else { |
| | | // log.info("前面token为{}", tokens[0]); |