CanLoad为AppModule守卫

时间:2018-01-04 10:51:39

标签: angular angular2-routing angular4-router

我有一个使用angular-cli创建的角度应用程序。 我能够将CanLoad后卫用于我的模块。 在我的CanLoad检查中,我检查用户是否已登录。

我也可以在AppModule上使用CanLoad吗? 如果用户未经过身份验证,基本上不会加载AppModule。

此问题的原因:
网站的所有内容都必须受到身份验证。所以我试图在用户进行身份验证之前减少有效负载。

2 个答案:

答案 0 :(得分:2)

正如@trichetriche回答的那样,如果你在app模块上设置一个警卫,只有当main.ts引导app模块时,用户才能登录

您可以使用CanLoad引导另一个模块,例如登录模块,并从中延迟加载应用程序模块。我从来没有像这样的模式,但它是可能的。

答案 1 :(得分:1)

CanLoad后卫允许您的用户加载您网站的一部分

我认为你想要的是延迟加载:用户只有在请求时才能获得他要求的内容。

如果你在app模块上放置一个警卫,你的用户甚至都没有机会登录!

如果是这样,我建议您take a look at the documentation,这是非常具体的