现在我正在使用angular进行路由的单页angularjs app。要登录用户,我使用$ http请求验证其用户名和密码,然后将其重定向到/ user_home。问题是没有登录的用户可以在不登录的情况下访问/ user_home。我可以通过检查我在登录时创建的csrf cookie和localstorage来轻松验证他们是否已登录,但是应该在何处进行验证?
答案 0 :(得分: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
});
在页面呈现后检查
中的更多信息以下是FIDDLE如何实现它