AngularJS: ngRoute 导致太多重定向错误?

AngularJS: ngRoute causing too many redirects error?

index.html:

<body ng-app="myApp">
    <div ng-controller="MainController">
        ... {{ title }} ...
            <div class="collapse navbar-collapse">
                <ul class="nav navbar-nav">
                    <li><a href="#/register" ng-hide="authenticated">Register</a></li>
                    <li><a href="#/login" ng-click="login">Login</a></li>
                    <li><a href="#" ng-click="logout">Logout</a></li>
                </ul>
            </div>
        ...
        <div ng-view></div>
    </div>
</body>

省略号缩短html。 MainController 只是设置 $scope.title = "My App"

在我的 angular 模块中,我使用 ngRoute 并这样实现路由:

app.config(function($routeProvider)
{
    $routeProvider 
    .when('/',
    {
        controller: 'MainController',
        templateUrl: 'main.html'
    })
    .when('/login',
    {
        controller: 'AuthenticationController',
        templateUrl: 'login.html'
    })
    .when('/register',
    {
        controller: 'AuthenticationController',
        templateUrl: 'register.html' 
    });
});

我的 AuthenticationController 只定义了登录和注册函数以对服务器进行 post 调用,但我没有进行这些调用,因为我没有单击登录或注册。

在将 ng-view 换成合适的视图方面,一切都很顺利,但是当我打开控制台时,每次切换视图时,我都会收到 "localhost:3000/login" 太多的重定向。我觉得很奇怪,因为无论我点击注册、登录、注销,它总是说 "localhost:3000/login" 重定向太多。这是在 express 框架的上下文中,但我认为这不是我服务器端的错误,因为它似乎没有在 express 中访问我的 app.use('/',index) 路由器。这正常吗?

编辑:这是我的索引路由器:

var express = require('express');
var router = express.Router();

router.get('/',function(req,res,next)
    {
        return res.render('index', { title: 'SERVER TITLE' });
    }
);

module.exports = router;

在app.js中:

app.use('/', index); 
app.use('/auth', authenticate); 

app.all('*',function(req,res,next)
{
  if(req.isAuthenticated())
  {
    return next();
  }
  else
  {
    res.redirect('/login');
  }
});

问题是我的客户端路由有问题,所以我的请求最终到达了服务器,最终发生了多次重定向。