Firebase V3, AngularJS 및 ui.router를 사용하여 내 사이트의 다양한 경로를 보호하고 싶습니다.Firebase v3에서 각도 경로를 확보하는 방법은 무엇입니까?
This 비슷한 문제입니다. 나는 그 자리에서 계단을 따라 갔지만 나를 위해 일하지 않았다. 나는 일이 기대
:. 을 로그 아웃하고 로그인 할 때 FAQ 페이지를 표시해야하는지 여부 나는 로그인 페이지로 전달해야 FAQ 링크를 클릭하면 실제로 어떻게됩니까
: FAQ 페이지에 전혀 액세스 할 수 없습니다. 로그인해도 별 효과가 없습니다. 또한 로그 아웃 할 때 로그인 페이지로 전달하지 않습니다.
내 run
기능에서이 오류가 발생합니다. 나는 내가 종속성 배열에서 중포 기지를 제거 할 경우에도 모듈 인젝터 오류가 발생하지 않으면
ReferenceError: Firebase is not defined(…)
가 나는 페이지에 AngularFire를 포함 시켰습니다.
var app = angular.module('app', ['ui.router', 'firebase']);
app.constant('FirebaseDatabaseUrl', 'https://myfbdb.firebaseio.com');
app.config(function($stateProvider, $urlRouterProvider, $firebaseRefProvider, FirebaseDatabaseUrl) {
$firebaseRefProvider.registerUrl(FirebaseDatabaseUrl);
// If a route other than status is requested,
// go to the auth route
//$urlRouterProvider.otherwise('/logintest/login');
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'pages/login.html',
controller: 'LoginController as login'
})
.state('faq', {
url: '/faq',
templateUrl: 'pages/faq.html',
controller: 'FaqController as faq',
resolve: {
// controller will not be loaded until $requireSignIn resolves
"firebaseUser": ["$firebaseAuthService", function($firebaseAuthService) {
console.log('waitForSignIn')
// $waitForSignIn returns a promise so the resolve waits for it to complete
return $firebaseAuthService.$waitForSignIn();
}]
}
})
.state('about', {
url: '/about',
templateUrl: 'pages/about.html',
controller: 'AboutController as about',
resolve: {
// controller will not be loaded until $requireSignIn resolves
"firebaseUser": ["$firebaseAuthService", function($firebaseAuthService) {
// If the promise is rejected, it will throw a $stateChangeError
return $firebaseAuthService.$requireSignIn();
}]
}
})
});
app.controller('FaqController', ['$scope', 'firebaseUser', function($scope, firebaseUser){
console.log('faq')
}]);
app.run(["$rootScope", "$state", function($rootScope, $state) {
console.log('run');
$rootScope.$on("$stateChangeError", function(event, toState, toParams, fromState, fromParams, error) {
// We can catch the error thrown when the $requireSignIn promise is rejected
// and redirect the user back to the home page
if (error === "AUTH_REQUIRED") {
console.log('redirecting to login page')
$state.go("login");
}
});
}]);
이전 버전의 AngulsrFire를 사용하고있는 것 같습니다. 버전 번호는 무엇입니까? –
안녕하세요, 답장을 보내 주셔서 감사합니다. 나는 v1.2.0을 사용하고있다. – user1532669
그게 문제가 될 것입니다. 2.0 이상으로 업그레이드 –