2

现在我正在开发一个使用 angular 进行路由的单页 angularjs 应用程序。要登录用户,我使用 $http 请求验证他们的用户名和密码,然后将他们重定向到 /user_home。问题是未登录的用户可以在不登录的情况下转到 /user_home。我可以通过检查我在登录时创建的 csrf cookie 和 localstorage 轻松验证他们是否已登录,但是应该将这个验证放在哪里?

4

1 回答 1

3

利用

$rootScope.$on('$routeChangeStart', function(evt, absNewUrl, absOldUrl) {
//your validation function based on url and set $location accordingly

  });

在渲染路线之前检查

或者

$rootScope.$on('$routeChangeSuccess', function(evt, absNewUrl, absOldUrl) {
//your validation function based on url and set $location accordingly

 });

在页面呈现后检查

更多信息在ANGULAR DOCS ROUTE

这是如何实现它的FIDDLE

于 2013-11-13T13:00:52.403 回答