项目

微服务解决方案:Web应用程序

您必须拥有 ABP Business 或更高级别的许可证才能创建微服务解决方案。

ABP Studio 的微服务解决方案模板包含多个Web应用程序。这些应用程序已完全集成到解决方案中,并通过API网关使用微服务

下图显示了ABP Studio 解决方案资源管理器 窗格中的应用程序:

applications-in-microservice-solution

Web应用程序的数量和类型取决于您在创建解决方案时所选择的选项。本文档将介绍并解释微服务解决方案模板中包含的所有预构建Web应用程序。

AuthServer

Acme.CloudCrm.AuthServer 是系统的身份认证服务器。它始终包含在解决方案中。它是一个单点登录服务,意味着所有应用程序都使用它进行用户登录。一旦用户通过某个应用程序登录,在同一浏览器中,他们将无需为其他应用程序再次输入凭据(用户名、密码),除非他们从其中一个应用程序注销。

AuthServer 应用程序也被微服务用作JWT持有者认证的授权机构。

您通常不会直接浏览此应用程序。它由其他应用程序用来对用户和应用程序进行身份验证。

以下截图来自该应用程序UI中账户模块的登录页面:

authserver-login-page

该应用程序主要基于OpenIddict身份管理账户模块。因此,它基本上拥有登录、注册、忘记密码、双因素认证以及其他与身份验证相关的页面。

主Web应用程序(可选)

这是解决方案的主要Web应用程序。它使用 Acme.CloudCrm.AuthServer 应用程序作为API网关。它还使用身份认证服务器应用程序让用户登录。

以下截图来自该Web应用程序UI中身份管理模块的角色管理页面:

web-application-ui

创建解决方案时提供了以下选项:

  • MVC / Razor Pages UI
  • Angular
  • Blazor WebAssembly
  • Blazor Server
  • MAUI Blazor (Hybrid)

以下部分将解释每种UI类型。

MVC / Razor Pages Web应用程序

如果您在创建解决方案时选择了 MVC / Razor Pages UI,则会创建 Acme.CloudCrm.Web 模块。它拥有自己的.NET解决方案,位于解决方案根目录的 apps/web 文件夹下。

Angular Web应用程序

如果您在创建解决方案时选择了 Angular UI,则解决方案的 apps 文件夹中将包含一个名为 angular 的文件夹。该文件夹包含了使用Angular实现的主要Web应用程序。

Blazor WebAssembly Web应用程序

如果您在创建解决方案时选择了 Blazor WebAssembly UI,则解决方案的 apps 文件夹中将包含 Acme.CloudCrm.Blazor 项目。该文件夹包含了使用Blazor WebAssembly实现的主要Web应用程序。

Blazor Server Web应用程序

如果您在创建解决方案时选择了 Blazor Server UI,则解决方案的 apps 文件夹中将包含 Acme.CloudCrm.Blazor 项目。该文件夹包含了使用Blazor Server实现的主要Web应用程序。

MAUI Blazor (Hybrid) Web应用程序

如果您在创建解决方案时选择了 MAUI Blazor (Hybrid) UI,则解决方案的 apps 文件夹中将包含 Acme.CloudCrm.MauiBlazor 项目。该文件夹包含了解决方案的主要桌面应用程序,它使用现有的Blazor UI实现,并通过MAUI Blazor (Hybrid)技术构建。


在本文档中