修正security中Optional的api版本问题

This commit is contained in:
ajaxfan
2021-05-10 16:43:48 +08:00
parent a17c514b1b
commit b52a865416

View File

@ -69,11 +69,11 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
// 检查cookie
else {
Optional.ofNullable(request.getCookies())
.ifPresentOrElse(cookies -> Stream.of(cookies)
.ifPresent(cookies -> Stream.of(cookies)
.filter(item -> StringUtils.equals(item.getName(), COOKIE_TOKEN_CODE)).findFirst()
.ifPresentOrElse(cookie -> setAuthentication(currentRoleCode, cookie.getValue()),
() -> defaultAuthentication()),
() -> defaultAuthentication());
.ifPresent(cookie -> setAuthentication(currentRoleCode, cookie.getValue())));
isNullThenAssignDefault();
}
filterChain.doFilter(request, response);
}
@ -120,9 +120,11 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
/**
* 未发现token和session信息则使用空的用户认证对象放行服务
*/
private void defaultAuthentication() {
SecurityContextHolder.getContext()
.setAuthentication(new UsernamePasswordAuthenticationToken(new SecurityUser(), null, null));
private void isNullThenAssignDefault() {
if (Objects.isNull(SecurityContextHolder.getContext().getAuthentication())) {
SecurityContextHolder.getContext()
.setAuthentication(new UsernamePasswordAuthenticationToken(new SecurityUser(), null, null));
}
}
}