Я создаю приложение в AngularJS, используя Firebase как «backend».Перехват маршрута с угловым JS
Я хочу сделать это, поэтому вам нужно войти в приложение, чтобы увидеть что-нибудь.
Я хочу использовать систему аутентификации пользователей Firebase.
Я использую routeProvider
для маршрутизации моего приложения.
Мой вопрос в том, как вы ограничиваете эти маршруты для входа в систему пользователями и разрешаете пользователям не войти в систему, чтобы увидеть страницу входа?
Мои маршруты выглядеть следующим образом: (коротко)
angular.module('myApp', ['ngRoute', 'firebase', 'components', 'ng-breadcrumbs', 'clients'])
.constant('fbUrl', 'https://my-billing.firebaseio.com/')
.config(function($routeProvider) {
$routeProvider
// Pages //
.when('/', {
//controller:'DashboardController as dashboard',
templateUrl:'pages/dashboard.html',
})
.when('/dashboard', {
//controller:'DashboardController as dashboard',
templateUrl:'pages/dashboard.html',
label: 'Dashboard',
})
.when('/settings', {
//controller:'SettingsController as settings',
templateUrl:'pages/settings.html',
label: 'Settings',
})
Моя функция Войти выглядит следующим образом:
angular.module('auth', ["firebase"])
.constant('fbUrl', 'https://my-billing.firebaseio.com/')
.controller('authController', function($scope, Firebase, $firebaseArray, fbUrl) {
var auth = this;
var ref = new Firebase(fbUrl);
auth.password = function() {
ref.authWithPassword({
email : auth.email,
password : auth.password
}, function(error, authData) {
if (error) {
console.log("Login Failed!", error);
} else {
console.log("Authenticated successfully with payload:", authData);
}
});
}
})
Сначала вам необходимо создать службу для обработки аутентификации базы огня. Вы используете угловой огонь? – Matthew
Посмотрите на это https://www.firebase.com/docs/web/libraries/angular/guide/user-auth.html#section-routers –
Видимо, я полностью слеп. Спасибо – moevans