Skip to content

Commit

Permalink
fix: 获取 Authorization 请求头内容兼容小写请求头场景
Browse files Browse the repository at this point in the history
  • Loading branch information
Charles7c committed Apr 15, 2024
1 parent 903ff1c commit e68c445
Showing 1 changed file with 8 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
Expand Down Expand Up @@ -45,6 +46,7 @@
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Map;
import java.util.Set;

/**
* 日志持久层接口本地实现类
Expand Down Expand Up @@ -112,9 +114,12 @@ public void add(LogRecord logRecord) {
}
}
// 操作人
if (!requestUri.startsWith(SysConstants.LOGOUT_URI) && MapUtil.isNotEmpty(requestHeaderMap) && requestHeaderMap
.containsKey(HttpHeaders.AUTHORIZATION)) {
String authorization = requestHeaderMap.get(HttpHeaders.AUTHORIZATION);
String headerName = HttpHeaders.AUTHORIZATION;
boolean isContains = CollUtil.containsAny(requestHeaderMap.keySet(), Set.of(headerName, headerName
.toLowerCase()));
if (!requestUri.startsWith(SysConstants.LOGOUT_URI) && MapUtil.isNotEmpty(requestHeaderMap) && isContains) {
String authorization = requestHeaderMap.getOrDefault(headerName, requestHeaderMap.get(headerName
.toLowerCase()));
String token = authorization.replace(SaManager.getConfig()
.getTokenPrefix() + StringConstants.SPACE, StringConstants.EMPTY);
logDO.setCreateUser(Convert.toLong(StpUtil.getLoginIdByToken(token)));
Expand Down

0 comments on commit e68c445

Please sign in to comment.