From 89b954320f3583c25b416ad22c2bc6a4c147ae1f Mon Sep 17 00:00:00 2001 From: jinbooks_dev Date: Tue, 17 Jun 2025 10:21:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=BB=98=E8=AE=A4=E8=B4=A6?= =?UTF-8?q?=E5=A5=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 ++-- jinbooks-ui/src/utils/Auth.ts | 2 +- .../AbstractAuthenticationProvider.java | 2 ++ .../service/impl/LoginServiceImpl.java | 19 ++++++++++++++++++- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 57a4b0c..ad10ddc 100644 --- a/.gitignore +++ b/.gitignore @@ -49,8 +49,8 @@ release_frontend.bat **/out/* -jinbooks-web-fronted/package-lock.json -jinbooks-web-fronted/yarn.lock +jinbooks-ui/package-lock.json +jinbooks-ui/yarn.lock package-lock.json /jinbooks/.gradle jinbooks/.gradle/* diff --git a/jinbooks-ui/src/utils/Auth.ts b/jinbooks-ui/src/utils/Auth.ts index 64bafec..53b9419 100644 --- a/jinbooks-ui/src/utils/Auth.ts +++ b/jinbooks-ui/src/utils/Auth.ts @@ -4,7 +4,7 @@ const TokenKey: any = 'Admin-Token' const RefreshTokenKey: any = 'refresh_token' const TokenInfoKey: any = '_token' const UserInfoKey: any = 'user' -const SetsKey: any = 'booksSet' +const SetsKey: any = 'books' export function getToken(): any { return Cookies.get(TokenKey) diff --git a/jinbooks/jinbooks-commons/jinbooks-authn-provider/src/main/java/com/jinbooks/authn/provider/AbstractAuthenticationProvider.java b/jinbooks/jinbooks-commons/jinbooks-authn-provider/src/main/java/com/jinbooks/authn/provider/AbstractAuthenticationProvider.java index 261110f..5212e8c 100644 --- a/jinbooks/jinbooks-commons/jinbooks-authn-provider/src/main/java/com/jinbooks/authn/provider/AbstractAuthenticationProvider.java +++ b/jinbooks/jinbooks-commons/jinbooks-authn-provider/src/main/java/com/jinbooks/authn/provider/AbstractAuthenticationProvider.java @@ -28,6 +28,8 @@ import com.jinbooks.ip2location.IpLocationParser; import com.jinbooks.ip2location.Region; import com.jinbooks.password.onetimepwd.AbstractOtpAuthn; import com.jinbooks.password.onetimepwd.MailOtpAuthnService; + +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.authentication.BadCredentialsException; diff --git a/jinbooks/jinbooks-persistence/src/main/java/com/jinbooks/persistence/service/impl/LoginServiceImpl.java b/jinbooks/jinbooks-persistence/src/main/java/com/jinbooks/persistence/service/impl/LoginServiceImpl.java index 0201e22..f8b6de2 100644 --- a/jinbooks/jinbooks-persistence/src/main/java/com/jinbooks/persistence/service/impl/LoginServiceImpl.java +++ b/jinbooks/jinbooks-persistence/src/main/java/com/jinbooks/persistence/service/impl/LoginServiceImpl.java @@ -26,6 +26,7 @@ import java.util.Date; import java.util.List; import java.util.Set; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.joda.time.DateTime; import org.joda.time.Duration; @@ -41,6 +42,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jinbooks.constants.ConstsStatus; import com.jinbooks.entity.ChangePassword; import com.jinbooks.entity.access.SessionList; +import com.jinbooks.entity.book.vo.BookVo; import com.jinbooks.entity.config.ConfigLoginPolicy; import com.jinbooks.entity.history.HistoryLogin; import com.jinbooks.entity.idm.UserInfo; @@ -48,6 +50,7 @@ import com.jinbooks.entity.permissions.Resources; import com.jinbooks.persistence.mapper.LoginMapper; import com.jinbooks.persistence.service.AuthzResourceService; import com.jinbooks.persistence.service.AuthzService; +import com.jinbooks.persistence.service.BookService; import com.jinbooks.persistence.service.ConfigLoginPolicyService; import com.jinbooks.persistence.service.FileStorageService; import com.jinbooks.persistence.service.HistoryLoginService; @@ -85,6 +88,9 @@ public class LoginServiceImpl extends ServiceImpl impleme @Autowired AuthzResourceService authzResourceService; + + @Autowired + BookService bookService; public LoginMapper getMapper() { return loginMapper; @@ -102,7 +108,18 @@ public class LoginServiceImpl extends ServiceImpl impleme @Override public UserInfo findByUsername(String loginName) { - return this.getMapper().findByUsername(loginName); + UserInfo userInfo = this.getMapper().findByUsername(loginName); + if(StringUtils.isBlank(userInfo.getBookId())) { + //未设置默认账号情况,读取有权限的账套的第一个 + List books = bookService.listBooks(userInfo.getId()); + if(CollectionUtils.isNotEmpty(books)) { + userInfo.setBookId(books.get(0).getId()); + userInfoService.switchBook(userInfo); + }else { + userInfo.setBookId(userInfo.getId()); + } + } + return userInfo; } @Override