为什么路由会在未经过身份验证的情况下显示分秒?

时间:2015-06-18 12:09:11

标签: angularjs

如果用户未登录,有没有办法阻止用户看到任何内容?我的意思是,让我们说当用户退出时,他们会尝试访问一个页面,例如:/dashboard,它会显示/login代替?

现在我在模块上有一个.run来检查会话但是如果用户没有登录并且他们访问/dashboard那么用户将会在一小段时间内看到该页面重定向到/login

.run(function ($rootScope, $location, authData) {
        $rootScope.$on("$routeChangeStart", function (event, next, current)    {
            $rootScope.authenticated = false;
            authData.get('session').then(function (results) {
                if (results.uid) {
                    $rootScope.authenticated = true;
                    $rootScope.uid = results.uid;
                    $rootScope.name = results.name;
                    $rootScope.email = results.email;
                } else {
                    $location.path("/login");
                }
            });
        });
});

0 个答案:

没有答案