Angular 5 / 6. 我的登录页面放在哪里?

Angular 5 / 6. Where do i place my login page?

我想做一个 angular 网站。我想在我的应用程序中有一个这样的首页:

https://getbootstrap.com/docs/4.1/examples/sign-in/

当您在那里登录时,您将能够看到您的仪表板,与下一步类似,您无法在没有登录的情况下查看仪表板页面,因此登录是网站的第一页:

https://getbootstrap.com/docs/4.1/examples/jumbotron/

我不知道在哪里放置登录页面,想到的选项(不知道它们是否好):

  1. 为登录页面创建一个专用组件,并使用 app-component 上的 rouet-outlet 路由到它。我不喜欢这个选项,因为它让我在每个其他组件中包含页眉和页脚。

  2. 创建了一个专用组件,如果用户未登录,则将其包含在应用程序组件和 *ngIf 中。我不喜欢这个选项,但我不知道为什么,安全?

  3. 我知道有更好的选项(或选项),希望你能帮助我学习。

index.html 怎么样,无论如何我都应该编辑它吗?

谢谢

你可以做的基本上是有两个组件,一个用于登录,一个用于仪表板。

一旦您在登录中进行身份验证,例如通过 JWT,您可以将令牌存储到本地存储,然后在需要用户进行身份验证的组件上添加 Route Guards。

请看:https://angular.io/guide/router#milestone-5-route-guards