Skip to content

Commit 70e1c5b

Browse files
committed
feat: token filter 中先根据请求头判断是否是内部请求
1 parent 6b24555 commit 70e1c5b

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

framework/framework_api/src/main/java/com/github/cadecode/uniboot/framework/api/security/filter/TokenAuthFilterService.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,18 @@ protected void writeResponse(HttpServletResponse response, ApiErrorCode errorCod
6363
* 由 handler 方法提供处理
6464
*/
6565
public void filter(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
66-
// 从请求头中提取来自其他服务调用传递得用户信息
67-
String escapedUserDetailsJson = ServletUtil.getHeader(request, SecurityConst.HEAD_USER_DETAILS, CharsetUtil.CHARSET_UTF_8);
68-
if (ObjectUtil.isNotEmpty(escapedUserDetailsJson)) {
69-
SysUserDetailsDto userDetailsDto = JacksonUtil.toBean(EscapeUtil.unescape(escapedUserDetailsJson), SysUserDetailsDto.class);
70-
if (ObjectUtil.isNotNull(userDetailsDto)) {
71-
setAuthentication(request, userDetailsDto);
72-
filterChain.doFilter(request, response);
73-
return;
66+
// 根据请求头判断是否是内部请求
67+
String source = ServletUtil.getHeader(request, SecurityConst.HEAD_SOURCE, CharsetUtil.CHARSET_UTF_8);
68+
if (ObjectUtil.equal(source, SecurityConst.HEAD_SOURCE_VALUE)) {
69+
// 从请求头中提取来自其他服务调用传递得用户信息
70+
String escapedUserDetailsJson = ServletUtil.getHeader(request, SecurityConst.HEAD_USER_DETAILS, CharsetUtil.CHARSET_UTF_8);
71+
if (ObjectUtil.isNotEmpty(escapedUserDetailsJson)) {
72+
SysUserDetailsDto userDetailsDto = JacksonUtil.toBean(EscapeUtil.unescape(escapedUserDetailsJson), SysUserDetailsDto.class);
73+
if (ObjectUtil.isNotNull(userDetailsDto)) {
74+
setAuthentication(request, userDetailsDto);
75+
filterChain.doFilter(request, response);
76+
return;
77+
}
7478
}
7579
}
7680
handler(request, response, filterChain);

0 commit comments

Comments
 (0)