【问题标题】:ABP Framework w/ Blazor UI: Subdomain tenant resolver带有 Blazor UI 的 ABP 框架:子域租户解析器
【发布时间】:2020-12-24 14:56:57
【问题描述】:

框架版本:4.0.1 用户界面:Blazor 数据库:EF 核心

我正在尝试在本地测试文档中引用的子域租户解析器: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.multitenancy”的一部分。安装包后,我收到以下错误,并且命名空间将无法解析,所以我不得不放弃将包添加到 Blazor 项目(我相信该消息意味着该包不支持与 Blazor 一起使用): NETSDK1082 There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'. MyApp.Blazor C:\Program Files\dotnet\sdk\5.0.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets 387

  2. 修改 hosts 文件以添加虚拟域(带有租户子域前缀)并修改 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 - 'Invalid redirect_uri' - 我相信它来自 IdentityServer。在进行了一些挖掘之后,我发现我必须将带有客户端子域的每个 URL 专门添加到 IdentityServerClientRedirectUris 表中,以启用登录重定向。从 stackoverflow 上的帖子中可以看出,这些重定向 URL 配置不支持通配符。使用子域方案创建新租户时是否应该自动添加租户记录,还是需要在添加新租户时手动处理?

  5. 将 URL 添加到带有客户端子域的表后,我现在可以登录 - 但是,它似乎总是登录到主机而不是租户。

我做错了什么?

【问题讨论】:

    标签: abp


    【解决方案1】:

    ABP blazor WebAssembly 目前似乎不支持基于域的租户解析器,请参阅:ABP.IO - Blazor WebAssembly - Tenant-specific login

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-24
      • 2021-11-24
      • 2015-01-13
      • 2021-02-25
      • 1970-01-01
      • 2021-01-05
      • 2015-09-24
      相关资源
      最近更新 更多