From b52a865416c1bc60392dcd5b3e27237b9b391115 Mon Sep 17 00:00:00 2001 From: ajaxfan <909938737@qq.com> Date: Mon, 10 May 2021 16:43:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3security=E4=B8=ADOptional?= =?UTF-8?q?=E7=9A=84api=E7=89=88=E6=9C=AC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../filter/TokenAuthenticationFilter.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java index 9c6e93b..b6c1f66 100644 --- a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java +++ b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/filter/TokenAuthenticationFilter.java @@ -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)); + } } }