Nehmen Sie den folgenden Code. Ich habe einen Cookie, der erstellt wird, sobald sich ein Benutzer erfolgreich angemeldet hat. Meine API ist ebenfalls bereits authentifiziert. Was ich tun möchte, ist eine einfache Überprüfung des Cookies vor dem Auflegen einer Route, mit der einzigen Ausnahme der Login-Route.Route abfangen und zum Login umleiten
angular
.module('pizzaGiants.routes', ['ui.router'])
.config(['$stateProvider', '$locationProvider', '$urlRouterProvider',
function ($stateProvider, $locationProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/login');
// Application Routes
// -----------------------------------
// add check if cookie exists else redirect to login
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'features/login/login.html',
controller: 'loginCtrl'
})
.state('attributes', {
url: '/attributes',
templateUrl: 'features/attributes/attributes.html',
controller: 'attributesCtrl'
})
.state('users', {
url: '/users',
templateUrl: 'features/users/users.html',
controller: 'usersCtrl'
})
.state('signup', {
url: '/signup',
templateUrl: 'features/signup/signup.html',
controller: 'signupCtrl'
})
.state('roles', {
url: '/roles',
templateUrl: 'features/roles/roles.html',
controller: 'rolesCtrl'
})
.state("fruits", {url: "/fruits",templateUrl: "features/fruits/fruit.html",controller: "fruitCtrl"}).state("colors", {url: "/colors",templateUrl: "features/colors/color.html",controller: "colorCtrl"}).state("contacts", {url: "/contacts",templateUrl: "features/contacts/contact.html",controller: "contactCtrl"})
}]);
Mögliche Duplikat folgenden sein [Umleiten auf eine bestimmte Route basierend auf Bedingung] (http://stackoverflow.com/questions/11541695/redirecting-to-a-certain -route-based-on-condition) –