AngularJS SPA 使用大型应用程序创建登录服务的最佳方法是什么?



我正在做一个有100多个页面的项目,我使用的是带有ui路由和phpREST后端的AngularJS。为了进行身份验证,我想使用Json Web令牌。

我正试图找到最好的方法来制作登录页面,但经过大量的谷歌搜索,我仍然没有找到方法。

我的应用程序只允许登录用户访问,否则他们应该转到登录页面。

我的主要问题是我应该如何组织index.html,因为登录页面与应用程序的其他部分完全不同。

在index.html中,我有很多元素,比如页眉和页脚,它们被加载到所有页面上,登录页面除外。因此,为了实现这一点,我使用了ng-if={{user.isLoggedIn}},但我认为这不是正确的做法,因为只有一个页面,我必须在所有页面上都有这个条件。

另一个想法是使用两个应用程序,因此如果用户没有登录,则会重定向到登录应用程序(实际上是重定向,而不仅仅是更改状态,因为它使用了另一个主模板)。

有没有一种方法可以让我在SPA中保留登录页面,这样我就只有一个应用程序?

提前感谢你的任何有效答案,我希望我已经尽可能清楚了。

使用UI Route查看嵌套视图。您可以拥有$state.login和$state.dashboard。登录时,任何州都可以拥有$sate.dashboard.home等。如果您想将其保留在一个应用程序中,这可能是最简单的解决方案。https://github.com/angular-ui/ui-router

最新更新