javascript - 将登录身份验证模块与现有 Angular JS 应用程序集成

标签 javascript html angularjs authentication routes

我购买了 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 个项目,包括 loginlogout 以及主应用页面。但在这种情况下,主应用程序页面本身有许多路由提供者。

我认为我在这里有一些基本的脱节。请帮助我理解断开连接并将登录身份验证与现有应用程序集成。

我不知道还要添加哪些代码组件。如果需要,将分享其他代码。

谢谢。

最佳答案

我认为如果您正在寻找完整的解决方案,这可能是一个很长的答案。我可以很快说的是,在我看来,你必须:

  1. 创建登录页面并将其放入views文件夹中
  2. 创建特定的登录 Controller
  3. 在使用刚刚创建的登录 Controller 的“:/page”路由之前添加登录页面的路由
  4. 如果您的应用程序需要身份验证,则必须编辑 PageViewController,以便在当前用户尚未登录时重定向到登录页面。

正如我所说,这是一个快速回答,以便您完成繁重的工作,但我希望您发现这很有用。

再见

关于javascript - 将登录身份验证模块与现有 Angular JS 应用程序集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28477461/

相关文章:

javascript - 我可以通过 Prop 传递要使用的对象名称吗?

javascript - 在 jquery 选择器中访问 div

javascript - 替换 Javascript 表单提交按钮上的 HTML 超链接文本

javascript - 无法将动态添加的指令编译到页面中

javascript - NgIF 的服务很慢

javascript - 使用 jQuery 循环遍历 JSON 数组并输出数据

javascript - 如何从包含四个属性的 JSON 对象创建包含两个属性的 JSON 对象

javascript - 如何在 React Native 中调整图像大小?

python - 将数据发送到服务器flask html

javascript - 单 SPA AngularJS 中断父应用程序的路由