Commit 85751728 authored by 王亚雷's avatar 王亚雷

Merge remote-tracking branch 'origin/bugfix-20211015' into dev

parents 1498c964 0bae3870
package com.tanpu.community.util;
import com.tanpu.common.auth.UserHolder;
import com.tanpu.common.redis.RedisHelper;
import com.tanpu.community.api.constants.RedisKeyConstant;
import lombok.extern.slf4j.Slf4j;
......@@ -26,28 +27,31 @@ import java.util.Optional;
public class HttpServletHelper {
@Resource
private RedisHelper redisHelper;
@Resource
private UserHolder userHolder;
public String getCurrentUserId() {
String userId = null;
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
String clientEnv = request.getHeader(RedisKeyConstant.ENV);
if (isAndroid(clientEnv) || isIOS(clientEnv) || isPc(clientEnv) || isMiniProgram(clientEnv)) {
// android,ios,pc,小程序用token
String token = request.getHeader(RedisKeyConstant.TAMP_TOKEN);
// redis获取的value,都带有 "",这里去掉
userId = StringUtils.remove(redisHelper.get(RedisKeyConstant.REDIS_PREFIX_TOKEN + token), "\"");
} else {
// 用cookie
Cookie[] cookies = request.getCookies();
if (cookies != null) {
Optional<Cookie> first = Arrays.stream(request.getCookies())
.filter(cookie -> StringUtils.equalsIgnoreCase(RedisKeyConstant.SESSION_COOKIE_NAME, cookie.getName()))
.findFirst();
if (first.isPresent()) {
userId = first.get().getValue();
}
}
}
// String userId = null;
// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
// String clientEnv = request.getHeader(RedisKeyConstant.ENV);
// if (isAndroid(clientEnv) || isIOS(clientEnv) || isPc(clientEnv) || isMiniProgram(clientEnv)) {
// // android,ios,pc,小程序用token
// String token = request.getHeader(RedisKeyConstant.TAMP_TOKEN);
// // redis获取的value,都带有 "",这里去掉
// userId = StringUtils.remove(redisHelper.get(RedisKeyConstant.REDIS_PREFIX_TOKEN + token), "\"");
// } else {
// // 用cookie
// Cookie[] cookies = request.getCookies();
// if (cookies != null) {
// Optional<Cookie> first = Arrays.stream(request.getCookies())
// .filter(cookie -> StringUtils.equalsIgnoreCase(RedisKeyConstant.SESSION_COOKIE_NAME, cookie.getName()))
// .findFirst();
// if (first.isPresent()) {
// userId = first.get().getValue();
// }
// }
// }
String userId = userHolder.getUserId();
log.debug("当前登录用户Id: {}", userId);
return userId;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment