Angular2引导两个应用程序在同一页面中的另一个

时间:2016-10-10 04:44:54

标签: javascript angular typescript

我正在开发angular2项目。它有两部分,第一部分是登录,另一部分是仪表板。我想在一个应用程序中开发登录部分,在其他应用程序中开发仪表板部分。

问题是,我无法在同一页面登录app后加载仪表板应用程序。

我找到了一个链接,在这个链接中,他们在同一页面中引导两个应用程序,但我想在同一页面中加载一个应用程序。

他们在同一页面中启动两个应用程序的链接是:

Bootstrapping multiple Angular 2 applications on the same page

这样做的主要目的:安全性

假设用户想要登录,我希望Dashboard应用程序分别由Angular2引导。

为什么我不使用单独的组件是因为我不想公开在Login组件旁边加载的其他组件。

1 个答案:

答案 0 :(得分:2)

我在这里看到两个主要选项(我确定还有其他选项):

选项1:用于登录和仪表板的单独应用程序

您可以使您的登录和信息中心应用程序各自拥有自己的网址,例如https://myhost:1234/loginhttps://myhost:1234/dash

当用户尝试转到/ dash时,服务器会检查他们是否已登录,如果不是,则重定向到/ login。当用户通过/ login登录时,服务器会设置会话,然后重定向到/ dash。

选项2:

在路由器上使用guard,以防止用户导航到仪表板,除非他们已登录。

有关使用警卫的示例,请参阅TempHire Sample Application。在此示例中,guard执行对服务器的ajax调用,并使用响应来确定是否继续。 (响应还将Breeze元数据带到客户端,但这是因为它是Breeze应用程序。)