| | |
| | | package com.xcong.excoin.common.aop; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.crypto.asymmetric.KeyType; |
| | | import cn.hutool.crypto.asymmetric.RSA; |
| | | import com.xcong.excoin.common.LoginUserUtils; |
| | | import com.xcong.excoin.common.annotations.SubmitRepeat; |
| | | import com.xcong.excoin.common.contants.AppContants; |
| | | import com.xcong.excoin.common.response.Result; |
| | | import com.xcong.excoin.configurations.properties.SecurityProperties; |
| | | import com.xcong.excoin.utils.MessageSourceUtils; |
| | | import com.xcong.excoin.utils.RedisUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | |
| | | @Resource |
| | | private RedisUtils redisUtil; |
| | | @Resource |
| | | private SecurityProperties securityProperties; |
| | | |
| | | private String key; |
| | | |
| | |
| | | ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); |
| | | HttpServletRequest request = attributes.getRequest(); |
| | | |
| | | String token = request.getHeader("token"); |
| | | //String token = request.getHeader("token"); |
| | | String bearerToken = request.getHeader(AppContants.TOKEN_HEADER); |
| | | 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 token = tokens[0]; |
| | | String uri = request.getRequestURI(); |
| | | String mId = (String) redisUtil.get(token); |
| | | log.info("#token : {}, uri : {}, mId : {}#", token, uri, mId); |
| | | Long mId = LoginUserUtils.getAppLoginUser().getId(); |
| | | //String mId = (String) redisUtil.get(token); |
| | | //log.info("#token : {}, uri : {}, mId : {}#", token, uri, mId); |
| | | key = mId + "_" + uri; |
| | | boolean flag = redisUtil.setNotExist(key, "1", 5); |
| | | log.info("#mid : {}, flag : {}#", mId, flag); |
| | | //log.info("#mid : {}, flag : {}#", mId, flag); |
| | | if (flag) { |
| | | Object result = joinPoint.proceed(); |
| | | redisUtil.del(key); |