增加无 token 和 session 信息的服务调用放行
This commit is contained in:
@ -68,10 +68,12 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
|
|||||||
}
|
}
|
||||||
// 检查cookie
|
// 检查cookie
|
||||||
else {
|
else {
|
||||||
Optional.ofNullable(request.getCookies()).ifPresent(cookies -> {
|
Optional.ofNullable(request.getCookies())
|
||||||
Stream.of(cookies).filter(item -> StringUtils.equals(item.getName(), COOKIE_TOKEN_CODE)).findFirst()
|
.ifPresentOrElse(cookies -> Stream.of(cookies)
|
||||||
.ifPresent(cookie -> setAuthentication(currentRoleCode, cookie.getValue()));
|
.filter(item -> StringUtils.equals(item.getName(), COOKIE_TOKEN_CODE)).findFirst()
|
||||||
});
|
.ifPresentOrElse(cookie -> setAuthentication(currentRoleCode, cookie.getValue()),
|
||||||
|
() -> defaultAuthentication()),
|
||||||
|
() -> defaultAuthentication());
|
||||||
}
|
}
|
||||||
filterChain.doFilter(request, response);
|
filterChain.doFilter(request, response);
|
||||||
}
|
}
|
||||||
@ -115,4 +117,12 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
|
|||||||
authorities);
|
authorities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 未发现token和session信息,则使用空的用户认证对象放行服务
|
||||||
|
*/
|
||||||
|
private void defaultAuthentication() {
|
||||||
|
SecurityContextHolder.getContext()
|
||||||
|
.setAuthentication(new UsernamePasswordAuthenticationToken(new SecurityUser(), null, null));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user