ABP框架w/Blazor UI:子域租户解析程序

  • 本文关键字:程序 框架 Blazor UI ABP abp
  • 更新时间 :
  • 英文 :


框架版本:4.0.1UI:BlazorDB:EF Core

我正在尝试本地测试文档中引用的子域租户解析程序:https://docs.abp.io/en/abp/latest/Multi-Tenancy

我已经采取了以下步骤,但无法将URL解析为租户:

  1. 向MyAppHttpApiHostModule.cs添加了以下代码:
Configure<AbpTenantResolveOptions>(options =>
{
options.AddDomainTenantResolver("{0}.myapptest.com");
});
  1. 尝试将相同的代码添加到MyAppBlazorModule.cs。找不到AddDomainTenantResolver((方法-检查源代码,这似乎是NuGet包的一部分"volo.abp.aspnetcore.多租户";。安装该包后,我收到以下错误,命名空间将无法解决,因此我不得不放弃将该包添加到Blazor项目中(我认为该消息意味着不支持该包与Blazor一起使用(:NETSDK1082 There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'. MyApp.Blazor C:Program Filesdotnetsdk5.0.101SdksMicrosoft.NET.SdktargetsMicrosoft.NET.Sdk.FrameworkReferenceResolution.targets 387

  2. 修改主机文件以添加虚拟域(带有租户子域前缀(,并修改applicationhost.config以接受API和Blazor项目的通配符:

<binding protocol="https" bindingInformation="*:44395:" />
<binding protocol="https" bindingInformation="*:44307:" />
  1. 将所有launchsettings.json和appsettings.json文件中出现的所有"localhost"更改为使用myapptest.com

  2. 运行DBMigrator项目以确保身份服务器记录已更新

  3. 运行应用程序。我可以通过包括租户子域在内的相关URL访问应用程序启动页

  4. 然而,在尝试登录时,我收到了一个500-"无效的重定向_uri"-我相信它来自IdentityServer。经过一些挖掘,我发现我必须将每个带有客户端子域的URL专门添加到IdentityServerClientRedirectUris表中,以便启用登录重定向。。从stackoverflow上的帖子中可以看出,这些重定向URL配置不支持通配符。当使用子域方案创建新租户时,应该自动添加租户记录吗?还是在添加新租户时需要手动处理?

  5. 一旦将URL添加到带有客户端子域的表中,我现在就可以登录了——然而,它似乎总是登录到主机而不是租户。

我做错了什么?

ABP blazor WebAssembly目前似乎不支持基于域的租户解析程序,请参阅:ABP.IO-blazor Web Assembly-租户特定登录

最新更新