Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitdb735f3

Browse files
Thomasrludomikula
Thomasr
authored andcommitted
#1379: Fix errors that were choosing wrong organization when enterprise mode is active
In enterprise mode, all login and apis deals with one organization.
1 parentfe0111a commitdb735f3

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/service/AuthenticationApiServiceImpl.java‎

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,11 @@
3232
importorg.lowcoder.domain.user.service.UserService;
3333
importorg.lowcoder.sdk.auth.AbstractAuthConfig;
3434
importorg.lowcoder.sdk.config.AuthProperties;
35+
importorg.lowcoder.sdk.config.CommonConfig;
36+
importorg.lowcoder.sdk.constants.WorkspaceMode;
3537
importorg.lowcoder.sdk.exception.BizError;
3638
importorg.lowcoder.sdk.exception.BizException;
39+
importorg.lowcoder.sdk.models.HasIdAndAuditing;
3740
importorg.lowcoder.sdk.util.CookieHelper;
3841
importorg.springframework.security.core.context.ReactiveSecurityContextHolder;
3942
importorg.springframework.stereotype.Service;
@@ -69,6 +72,7 @@ public class AuthenticationApiServiceImpl implements AuthenticationApiService {
6972
privatefinalOrgMemberServiceorgMemberService;
7073
privatefinalJWTUtilsjwtUtils;
7174
privatefinalAuthPropertiesauthProperties;
75+
privatefinalCommonConfigcommonConfig;
7276

7377
@Override
7478
publicMono<AuthUser>authenticateByForm(StringloginId,Stringpassword,Stringsource,booleanregister,StringauthId,StringorgId) {
@@ -238,10 +242,16 @@ public Mono<Void> onUserRegister(User user, boolean isSuperAdmin) {
238242
}
239243

240244
protectedMono<Void>onUserLogin(StringorgId,Useruser,Stringsource) {
241-
if (StringUtils.isEmpty(orgId)) {
242-
returnMono.empty();
245+
Mono<String>orgMono;
246+
if(commonConfig.getWorkspace().getMode() ==WorkspaceMode.ENTERPRISE) {
247+
orgMono =organizationService.getOrganizationInEnterpriseMode().map(HasIdAndAuditing::getId);
248+
}else {
249+
if (StringUtils.isEmpty(orgId)) {
250+
returnMono.empty();
251+
}
252+
orgMono =Mono.just(orgId);
243253
}
244-
returnorgApiService.tryAddUserToOrgAndSwitchOrg(orgId,user.getId()).then();
254+
returnorgMono.flatMap(orgId2 ->orgApiService.tryAddUserToOrgAndSwitchOrg(orgId2,user.getId())).then();
245255
}
246256

247257
@Override

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrganizationController.java‎

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@
1919
importorg.lowcoder.domain.plugin.DatasourceMetaInfo;
2020
importorg.lowcoder.domain.plugin.service.DatasourceMetaInfoService;
2121
importorg.lowcoder.domain.user.service.UserService;
22+
importorg.lowcoder.sdk.config.CommonConfig;
23+
importorg.lowcoder.sdk.constants.WorkspaceMode;
2224
importorg.springframework.beans.factory.annotation.Autowired;
2325
importorg.springframework.http.codec.multipart.Part;
2426
importorg.springframework.web.bind.annotation.*;
2527
importorg.springframework.web.server.ServerWebExchange;
28+
importreactor.core.publisher.Flux;
2629
importreactor.core.publisher.Mono;
2730

2831
importjava.util.List;
@@ -47,14 +50,21 @@ public class OrganizationController implements OrganizationEndpoints
4750
privateOrganizationServiceorganizationService;
4851
@Autowired
4952
privateUserServiceuserService;
53+
@Autowired
54+
privateCommonConfigcommonConfig;
5055

5156
@Override
5257
publicMono<PageResponseView<?>>getOrganizationByUser(@PathVariableStringemail,
5358
@RequestParam(required =false,defaultValue ="1")IntegerpageNum,
5459
@RequestParam(required =false,defaultValue ="0")IntegerpageSize) {
55-
varflux =userService.findByEmailDeep(email).flux().flatMap(user ->orgMemberService.getAllActiveOrgs(user.getId()))
56-
.flatMap(orgMember ->organizationService.getById(orgMember.getOrgId()))
57-
.map(OrgView::new).cache();
60+
Flux<?>flux;
61+
if (commonConfig.getWorkspace().getMode() ==WorkspaceMode.SAAS) {
62+
flux =userService.findByEmailDeep(email).flux().flatMap(user ->orgMemberService.getAllActiveOrgs(user.getId()))
63+
.flatMap(orgMember ->organizationService.getById(orgMember.getOrgId()))
64+
.map(OrgView::new).cache();
65+
}else {
66+
flux =organizationService.getOrganizationInEnterpriseMode().flux().cache();
67+
}
5868
returnfluxToPageResponseView(pageNum,pageSize,flux);
5969
}
6070

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp