【发布时间】:2016-08-03 19:06:48
【问题描述】:
一个小故事。
- 我有公共页面,不受限制
- 我有私人页面,需要登录。
- 我正在使用 Firebase 身份验证进行登录。
我的$routeProvider 设置在我的主要.config() 中.module() 我的受限路径如下所示。
.when('/admin', {
controller: 'adminCtrl as admin',
templateUrl: 'pages/admin/dashboard.tpl.html',
resolve: {
"currentAuth": ["$firebaseAuth", function($firebaseAuth) {
//$requireAuth returns a promise if authenticated, rejects if not
var ref = new Firebase(fbUrl);
var authObj = $firebaseAuth(ref);
return authObj.$requireAuth();
}]
}
})
我的问题是关于解决方案,我假设它工作正常,因为我没有在浏览器上看到templateUrl。 (我知道这个事实,我去掉了return并放置了return true,然后我的templateUrl就出现了)
所以现在,resolve 中的这个承诺被拒绝了。因为我不是登录用户。
我的问题是,我该怎么做。将$routeProvider 发送到我的.otherwise 路线或b。如果 promise 被拒绝,则在 resolve 中放置一个重定向。
基本上,如果用户没有登录,我希望他们返回主页。现在浏览器只是显示一个空白页面。
【问题讨论】:
标签: javascript angularjs firebase-authentication