我购买了 Angular JS 主题并开始开发我们的应用程序。该应用程序的 $routeProvider
如下所示:
$routeProvider
.when('/', {
redirectTo: '/dashboard'
})
.when('/:page', {
templateUrl: function($routeParams) {
return 'views/'+ $routeParams.page +'.html';
},
controller: 'PageViewController'
})
.when('/:page/:child*', {
templateUrl: function($routeParams) {
return 'views/'+ $routeParams.page + '/' + $routeParams.child + '.html';
},
controller: 'PageViewController'
})
.otherwise({
redirectTo: '/dashboard'
});
这是一个单页应用程序
现在我需要将登录验证模块集成到其中。我对 AngularJS 比较陌生。我搜索并得到了很多关于 AngularJS 应用程序的登录、身份验证模块的文章(在堆栈溢出中也很少有好的答案),我可以理解它是如何工作的。
但我不知道如何使登录与现有应用程序一起工作。要么拥有 2 个不同的应用程序(一个用于登录身份验证,一个用于主应用程序),要么将登录集成为主应用程序中的单独的 angular.module 。请指导我该怎么做...
所有示例在 $routeProvider
中只有 2 或 3 个项目,包括 login
和 logout
以及主应用页面。但在这种情况下,主应用程序页面本身有许多路由提供者。
我认为我在这里有一些基本的脱节。请帮助我理解断开连接并将登录身份验证与现有应用程序集成。
我不知道还要添加哪些代码组件。如果需要,将分享其他代码。
谢谢。
最佳答案
我认为如果您正在寻找完整的解决方案,这可能是一个很长的答案。我可以很快说的是,在我看来,你必须:
- 创建登录页面并将其放入views文件夹中
- 创建特定的登录 Controller
- 在使用刚刚创建的登录 Controller 的“:/page”路由之前添加登录页面的路由
- 如果您的应用程序需要身份验证,则必须编辑 PageViewController,以便在当前用户尚未登录时重定向到登录页面。
正如我所说,这是一个快速回答,以便您完成繁重的工作,但我希望您发现这很有用。
再见
关于javascript - 将登录身份验证模块与现有 Angular JS 应用程序集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28477461/