Вам понадобится служба, которая выполняет авторизацию и сохраняет состояние текущей авторизации для любого данного пользователя. Оттуда, в каждом из ваших контроллеров, проверьте для статуса авторизации, где требуется, разрешите доступ, когда не вошли в систему; где нет, сделайте остановку ворот.
Например:
angular.module('app', [])
.controller('ctrlname', ['$scope', '$location', 'myAuthenticationService', function($scope, $location, myAuthenticationService){
//userId and Password to be bound to partials via ng-model.
if (myAuthenticationService.authorizeUser(userId, password)){
// DO what you have to for an authorized user.
}
else{
//
$location.route('/unauthorized');
}
}]
.service('myAuthenticationService', ['$http', function($http){
var self = this;
//This is just for reference, might need more sophesticated authentication on server side anyways.
self.authorizeUser = function(userId, password){
return $http.get(`url/?userId=${userId}&password=${password}`)
.success(function(response){
//If user is validated,
return true;
})
.error(function(error){
return false;
})
}
return {
authorizeUser: function(userId, password){
return self.authorizeUser(userId, password);
}
}
}]
Вы можете определить свои маршруты и добавить соответствующие контроллеры в routes.js
.