首页 > 解决方案 > 如何使用微服务将 Angular 应用程序嵌入到另一台服务器上的不同 Angular 应用程序中?

问题描述

问题如下:

我们正在使用微服务架构。假设我们有 2 个服务器,一个 ServerHost 和一个 ServerClient。我希望 ServerHost 托管一个网页,该网页路由到 ServerClient 上的网页。像 iframe 但具有更多控制权。这两个网页都在 Angular 中。

我已经阅读了有关 Angular Elements 和 Webcomponents 的信息,但我无法弄清楚如何在不同的服务器之间实现这一点。

有人可以指点我的文章或例子,我将非常感激。

编辑:(澄清)

目标是让每个微服务都有自己的网页(用于配置等)。但是,所有网页都应在 ServerHost 的外壳中访问。该服务器应该基本上托管一个包含所有其他页面的网页。

如果用户将登陆主页,则应该有一个包含指向其他页面的链接的列表。但是当点击链接时,shell 中的主导航菜单不应该消失。用户将在旧页面中打开新页面。

网页能够相互通信也很重要。例如,告诉路线。顺便说一句,服务器都是用 C# 编写的。

标签: htmlangulartypescriptmicroservicesweb-component

解决方案


由于安全原因,我认为这是不可能的。

您实际上只能从同一来源加载模块。如果你确实想做一些你描述的事情,你可以按照通常的设计进行设置。

1 个服务器应用程序
1 个客户端应用程序
1 个 SSO 服务/+ 应用程序

用户将通过 SSO 服务登录,然后如果他被允许,服务器应用程序会将用户重定向到客户端应用程序。通过该流程,您可以使用 SSO 服务来跟踪源 URL 和目标 URL,以便您知道用户来自哪里以及他想去哪里,并从中管理用户可以做什么和不可以做什么的声明。


推荐阅读