From 6bbbe243129bc345315fc1d1d981348a059c14be Mon Sep 17 00:00:00 2001 From: WangJunZzz <510423039@qq.com> Date: Fri, 6 Dec 2024 19:30:03 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E8=B7=AF=E7=94=B1=E9=87=8D=E5=A4=8D=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- vben28/src/router/constant.ts | 2 ++ vben28/src/router/routes/basic.ts | 3 ++- vben28/src/router/routes/modules/tenant.ts | 4 ++-- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index dfa9dfab..c7388b53 100644 --- a/.gitignore +++ b/.gitignore @@ -21,7 +21,7 @@ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ - +.DS_Store # Visual Studio 2015 cache/options directory .vs/ # Uncomment if you have tasks that create the project's static files in wwwroot diff --git a/vben28/src/router/constant.ts b/vben28/src/router/constant.ts index d39a67e5..68029a1f 100644 --- a/vben28/src/router/constant.ts +++ b/vben28/src/router/constant.ts @@ -4,6 +4,8 @@ export const PARENT_LAYOUT_NAME = 'ParentLayout'; export const PAGE_NOT_FOUND_NAME = 'PageNotFound'; +export const PAGE_NOT_FOUND_NAME_PATH = 'PageNotFoundPath'; + export const EXCEPTION_COMPONENT = () => import('/@/views/sys/exception/Exception.vue'); /** diff --git a/vben28/src/router/routes/basic.ts b/vben28/src/router/routes/basic.ts index b92deea7..6de26113 100644 --- a/vben28/src/router/routes/basic.ts +++ b/vben28/src/router/routes/basic.ts @@ -5,6 +5,7 @@ import { LAYOUT, EXCEPTION_COMPONENT, PAGE_NOT_FOUND_NAME, + PAGE_NOT_FOUND_NAME_PATH, } from '/@/router/constant'; // 404 on a page @@ -20,7 +21,7 @@ export const PAGE_NOT_FOUND_ROUTE: AppRouteRecordRaw = { children: [ { path: '/:path(.*)*', - name: PAGE_NOT_FOUND_NAME, + name: PAGE_NOT_FOUND_NAME_PATH, component: EXCEPTION_COMPONENT, meta: { title: 'ErrorPage', diff --git a/vben28/src/router/routes/modules/tenant.ts b/vben28/src/router/routes/modules/tenant.ts index ce8a8334..034070cf 100644 --- a/vben28/src/router/routes/modules/tenant.ts +++ b/vben28/src/router/routes/modules/tenant.ts @@ -13,8 +13,8 @@ const tenant: AppRouteModule = { }, children: [ { - path: 'Tenant', - name: 'Tenant', + path: 'Page', + name: 'TenantPage', component: () => import('/@/views/tenants/Tenant.vue'), meta: { title: t('routes.tenant.tenantList'), From 95b605696b07430aadd652102592b933d2c83997 Mon Sep 17 00:00:00 2001 From: WangJunZzz <510423039@qq.com> Date: Fri, 6 Dec 2024 21:50:37 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=92=8C=E5=89=8D=E7=AB=AF=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Users/UserAppService.cs | 1 - vben28/package.json | 2 +- vben28/src/router/routes/basic.ts | 3 +-- vben28/src/store/modules/user.ts | 1 - vben28/src/views/admin/users/AbpUser.ts | 7 +++++++ vben28/src/views/admin/users/EditAbpUser.vue | 5 +++-- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs index 7634967e..e0cda457 100644 --- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs +++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs @@ -109,7 +109,6 @@ namespace Lion.AbpPro.BasicManagement.Users [Authorize(IdentityPermissions.Users.Update)] public virtual async Task UpdateAsync(UpdateUserInput input) { - input.UserInfo.IsActive = true; return await _identityUserAppService.UpdateAsync(input.UserId, input.UserInfo); } diff --git a/vben28/package.json b/vben28/package.json index 7940cb02..b503a2d6 100644 --- a/vben28/package.json +++ b/vben28/package.json @@ -70,7 +70,7 @@ "vue": "3.2.33", "vue-i18n": "^9.1.9", "vue-json-pretty": "^2.0.6", - "vue-router": "^4.0.14", + "vue-router": "4.0.14", "vue-types": "^4.1.1", "xlsx": "^0.18.5", "oidc-client": "^1.11.5", diff --git a/vben28/src/router/routes/basic.ts b/vben28/src/router/routes/basic.ts index 6de26113..b92deea7 100644 --- a/vben28/src/router/routes/basic.ts +++ b/vben28/src/router/routes/basic.ts @@ -5,7 +5,6 @@ import { LAYOUT, EXCEPTION_COMPONENT, PAGE_NOT_FOUND_NAME, - PAGE_NOT_FOUND_NAME_PATH, } from '/@/router/constant'; // 404 on a page @@ -21,7 +20,7 @@ export const PAGE_NOT_FOUND_ROUTE: AppRouteRecordRaw = { children: [ { path: '/:path(.*)*', - name: PAGE_NOT_FOUND_NAME_PATH, + name: PAGE_NOT_FOUND_NAME, component: EXCEPTION_COMPONENT, meta: { title: 'ErrorPage', diff --git a/vben28/src/store/modules/user.ts b/vben28/src/store/modules/user.ts index 596ec090..b2af76dd 100644 --- a/vben28/src/store/modules/user.ts +++ b/vben28/src/store/modules/user.ts @@ -224,7 +224,6 @@ export const useUserStore = defineStore({ */ async logout(goLogin = false) { try { - debugger; if (this.userInfo?.isSts) { await useOidcLogout(); } else { diff --git a/vben28/src/views/admin/users/AbpUser.ts b/vben28/src/views/admin/users/AbpUser.ts index 5cc06268..7f4b980b 100644 --- a/vben28/src/views/admin/users/AbpUser.ts +++ b/vben28/src/views/admin/users/AbpUser.ts @@ -136,6 +136,13 @@ export const createFormSchema: FormSchema[] = [ ]; export const editFormSchema: FormSchema[] = [ + { + field: 'isActive', + component: 'Input', + label: t('routes.admin.userManagement_name'), + labelWidth: 130, + show: false, + }, { field: 'userName', component: 'Input', diff --git a/vben28/src/views/admin/users/EditAbpUser.vue b/vben28/src/views/admin/users/EditAbpUser.vue index c9a733ea..9e96ef56 100644 --- a/vben28/src/views/admin/users/EditAbpUser.vue +++ b/vben28/src/views/admin/users/EditAbpUser.vue @@ -83,7 +83,8 @@ export default defineComponent({ name: data.record.name, userName: data.record.userName, email: data.record.email, - phoneNumber: data.record.phoneNumber + phoneNumber: data.record.phoneNumber, + isActive: data.record.isActive, }); }); @@ -127,7 +128,7 @@ export default defineComponent({ userInfo.concurrencyStamp = currentUserInfo.concurrencyStamp; userInfo.roleNames = defaultRolesRef.value; userInfo.password = request.password; - + userInfo.isActive = request.isActive; updateUserInput.userId = currentUserInfo.id; updateUserInput.userInfo = userInfo; await updateUserAsync({ From cadfda4a08b752b9e0c02e4ebb93df20e0af9e2a Mon Sep 17 00:00:00 2001 From: Hanpaopao <510423039@qq.com> Date: Wed, 18 Dec 2024 19:34:12 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4TenantResolvers?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbpProSharedHostingMicroserviceModule.cs | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/aspnet-core/shared/Lion.AbpPro.Shared.Hosting.Microservices/Lion/AbpPro/AbpProSharedHostingMicroserviceModule.cs b/aspnet-core/shared/Lion.AbpPro.Shared.Hosting.Microservices/Lion/AbpPro/AbpProSharedHostingMicroserviceModule.cs index 2afe702e..87887ec8 100644 --- a/aspnet-core/shared/Lion.AbpPro.Shared.Hosting.Microservices/Lion/AbpPro/AbpProSharedHostingMicroserviceModule.cs +++ b/aspnet-core/shared/Lion.AbpPro.Shared.Hosting.Microservices/Lion/AbpPro/AbpProSharedHostingMicroserviceModule.cs @@ -1,6 +1,8 @@ using Microsoft.AspNetCore.DataProtection; using StackExchange.Redis; +using Volo.Abp.AspNetCore.MultiTenancy; using Volo.Abp.Caching; +using Volo.Abp.MultiTenancy; using Volo.Abp.Settings; namespace Lion.AbpPro; @@ -23,6 +25,7 @@ public class AbpProSharedHostingMicroserviceModule : AbpModule ConfigureConsul(context, configuration); ConfigAntiForgery(); ConfigureAbpExceptions(context); + ConfigureTenantResolvers(); } /// @@ -75,11 +78,11 @@ public class AbpProSharedHostingMicroserviceModule : AbpModule .Select(o => o.RemovePostFix("/")) .ToArray() ) - .WithAbpExposedHeaders() + //.WithAbpExposedHeaders() .SetIsOriginAllowedToAllowWildcardSubdomains() .AllowAnyHeader() .AllowAnyMethod() - .AllowCredentials() + //.AllowCredentials() // https://www.cnblogs.com/JulianHuang/p/14225515.html // https://learn.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-7.0 .SetPreflightMaxAge((TimeSpan.FromHours(24))); @@ -118,4 +121,20 @@ public class AbpProSharedHostingMicroserviceModule : AbpModule // context.Services.AddHealthChecks().AddRedis(redisConnectionString).AddMySql(connectString); context.Services.AddHealthChecks(); } + + /// + /// 配置租户解析 + /// + private void ConfigureTenantResolvers() + { + Configure(options => + { + options.TenantResolvers.Clear(); + // 只保留通过请求头解析租户 + // options.TenantResolvers.Add(new QueryStringTenantResolveContributor()); + // options.TenantResolvers.Add(new RouteTenantResolveContributor()); + options.TenantResolvers.Add(new HeaderTenantResolveContributor()); + // options.TenantResolvers.Add(new CookieTenantResolveContributor()); + }); + } } \ No newline at end of file