diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxTocDefaultUserDetailsServiceImpl.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxTocDefaultUserDetailsServiceImpl.java index f240cec9d..fcc9295aa 100755 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxTocDefaultUserDetailsServiceImpl.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxTocDefaultUserDetailsServiceImpl.java @@ -37,10 +37,7 @@ import org.springframework.security.core.authority.AuthorityUtils; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UsernameNotFoundException; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; +import java.util.*; /** * 用户详细信息 @@ -53,7 +50,7 @@ public class PigxTocDefaultUserDetailsServiceImpl implements PigxUserDetailsServ private final CacheManager cacheManager; - private final RemoteAppUserService remoteAppUserService; + private final Optional remoteAppUserServiceOptional; /** * 用户密码登录 @@ -63,11 +60,15 @@ public class PigxTocDefaultUserDetailsServiceImpl implements PigxUserDetailsServ @Override @SneakyThrows public UserDetails loadUserByUsername(String username) { + if (!remoteAppUserServiceOptional.isPresent()) { + throw new UnsupportedOperationException(); + } + Cache cache = cacheManager.getCache(CacheConstants.USER_DETAILS_MINI); if (cache != null && cache.get(username) != null) { return cache.get(username, PigxUser.class); } - R info = remoteAppUserService.info(username, SecurityConstants.FROM_IN); + R info = remoteAppUserServiceOptional.get().info(username, SecurityConstants.FROM_IN); UserDetails userDetailsAppUser = this.getUserDetailsAppUser(info); if (cache != null) { cache.put(username, userDetailsAppUser); diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxTocMobileUserDetailsServiceImpl.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxTocMobileUserDetailsServiceImpl.java index 1d6c074ae..f10dddf39 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxTocMobileUserDetailsServiceImpl.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxTocMobileUserDetailsServiceImpl.java @@ -34,10 +34,7 @@ import org.springframework.security.core.authority.AuthorityUtils; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UsernameNotFoundException; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; +import java.util.*; /** * 用户详细信息 @@ -48,7 +45,7 @@ import java.util.Set; @RequiredArgsConstructor public class PigxTocMobileUserDetailsServiceImpl implements PigxUserDetailsService { - private final RemoteAppUserService remoteAppUserService; + private final Optional remoteAppUserServiceOptional; /** * 用户密码登录 @@ -58,7 +55,10 @@ public class PigxTocMobileUserDetailsServiceImpl implements PigxUserDetailsServi @Override @SneakyThrows public UserDetails loadUserByUsername(String phone) { - R info = remoteAppUserService.social(phone, SecurityConstants.FROM_IN); + if (!remoteAppUserServiceOptional.isPresent()) { + throw new UnsupportedOperationException(); + } + R info = remoteAppUserServiceOptional.get().social(phone, SecurityConstants.FROM_IN); return this.getUserDetailsAppUser(info); }