0
これは本当に簡単だと思うが、どうして私がそれを理解できないのか分からない。今、私はそのよう'/login'
ルートに決意を追加したい場合はユーザーがAngularFireでログインしている場合、Angularページへのアクセスを防止するにはどうすればよいですか?
// == LISTEN FOR ROUTE ERRORS
app.run(['$rootScope', '$location', function($rootScope, $location) {
$rootScope.$on('$routeChangeError', function(event, next, previous, error) {
if (error === 'AUTH_REQUIRED') {
$location.path('/login');
}
});
}]);
// == RETURN AUTH SERVICE
app.factory('Authentication', ['$firebaseAuth', function($firebaseAuth) {
return $firebaseAuth();
}]);
// == APP ROUTER
app.config(['$routeProvider', '$location', function($routeProvider, $location) {
$routeProvider
.when('/account', {
controller: 'userController',
templateUrl: 'views/account.html',
resolve: {
"currentAuth": ['Authentication', function(Authentication) {
return Authentication.$requireSignIn(); // if rejected throws $routeChangeError
}]
}
})
}]);
:私たちは、ユーザーが我々にはログインしていない場合は、ページへのアクセスを制限したい場合は例えば
のような何かを行うことができますユーザーがログインしている場合、アカウントページまたは成功ページにそれらを強制することはできますか?
.when('/login', {
controller: 'userController',
templateUrl: 'views/login.html',
resolve: {
"currentAuth": [function() {
// reject if the user is already logged in
}]
}
});
で、ログインしたときにも、シナリオを処理する必要があります。どんな考え? –
$ requoreSignInを使用していない可能性があります。$ getAuth()を使用して回答を更新します。 –
$ getAuth()は関数ではないというエラーを記録できました。私は認証ファクトリも含めました。 '' '' $ q '' '認証' '関数($ q、認証){} ' –