From 838e66ef962bfebbb1ef96ba2364f25a34caf09f Mon Sep 17 00:00:00 2001 From: zhouhao Date: Fri, 1 Apr 2022 17:29:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/authorization/AuthenticationHolder.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/AuthenticationHolder.java b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/AuthenticationHolder.java index d782b6b52..d9c254eee 100644 --- a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/AuthenticationHolder.java +++ b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/AuthenticationHolder.java @@ -51,12 +51,16 @@ public final class AuthenticationHolder { private static final ReadWriteLock lock = new ReentrantReadWriteLock(); private static Optional get(Function> function) { - if (suppliers.size() == 1) { + int size = suppliers.size(); + if (size == 0) { + return Optional.empty(); + } + if (size == 1) { return suppliers.get(0).get(); } SimpleAuthentication merge = new SimpleAuthentication(); for (AuthenticationSupplier supplier : suppliers) { - supplier.get().ifPresent(merge::merge); + function.apply(supplier).ifPresent(merge::merge); } if (merge.getUser() == null) { return Optional.empty();