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

时间:2015-02-12 12:26:37

标签: 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应用程序的登录,身份验证模块的文章(stack overflow中的一些好答案),我可以理解它是如何工作的。

但我不知道如何使登录与现有应用程序一起工作。通过拥有2个不同的应用程序(一个用于登录身份验证,一个用于主应用程序)或在主应用程序中将登录集成为单独的angular.module。请指导我该怎么办...

所有示例在$routeProvider中只包含2个或3个项目,包括loginlogout以及主应用页面。但在这种情况下,主应用页面本身有很多路由提供商。

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

我不知道要添加哪些代码组件。如果需要,将分享额外的代码。

谢谢。

1 个答案:

答案 0 :(得分:1)

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

  1. 创建一个登录页面并将其放入views文件夹
  2. 创建特定的登录控制器
  3. 在':/ page'之前添加到登录页面的路线使用刚刚创建的登录控制器的路由
  4. 如果您的应用程序需要身份验证,则必须编辑PageViewController,以便在当前用户尚未登录时重定向到登录页面。
  5. 正如我所说,这是一个快速的答案,以便你必须做的大工作,但我希望你发现这很有用。

    再见

相关问题