更新
This commit is contained in:
@@ -9,6 +9,8 @@ import jakarta.servlet.ServletException;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.filter.OncePerRequestFilter;
|
||||
|
||||
@@ -27,8 +29,14 @@ public class CommonWebMvcConfiguration extends OncePerRequestFilter {
|
||||
request.getHeader(SecurityConstants.HEADER_USER_ID),
|
||||
request.getHeader(SecurityConstants.HEADER_USERNAME),
|
||||
request.getHeader(SecurityConstants.HEADER_DISPLAY_NAME),
|
||||
request.getHeader(SecurityConstants.HEADER_ADCODE),
|
||||
request.getHeader(SecurityConstants.HEADER_TENANT_ID),
|
||||
request.getHeader(SecurityConstants.HEADER_DEPT_ID)
|
||||
request.getHeader(SecurityConstants.HEADER_TENANT_PATH),
|
||||
request.getHeader(SecurityConstants.HEADER_DEPT_ID),
|
||||
request.getHeader(SecurityConstants.HEADER_DEPT_PATH),
|
||||
parseRoleCodes(request.getHeader(SecurityConstants.HEADER_ROLE_CODES)),
|
||||
request.getHeader(SecurityConstants.HEADER_CLIENT_TYPE),
|
||||
request.getHeader(SecurityConstants.HEADER_SESSION_ID)
|
||||
));
|
||||
response.setHeader(SecurityConstants.TRACE_ID, TraceIdHolder.getOrCreate());
|
||||
filterChain.doFilter(request, response);
|
||||
@@ -37,4 +45,14 @@ public class CommonWebMvcConfiguration extends OncePerRequestFilter {
|
||||
RequestUserContextHolder.clear();
|
||||
}
|
||||
}
|
||||
|
||||
private List<String> parseRoleCodes(String roleCodesHeader) {
|
||||
if (roleCodesHeader == null || roleCodesHeader.isBlank()) {
|
||||
return List.of();
|
||||
}
|
||||
return Arrays.stream(roleCodesHeader.split(","))
|
||||
.map(String::trim)
|
||||
.filter(code -> !code.isBlank())
|
||||
.toList();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user