Hier ist mein Fall:
- Benutzer nicht angemeldet ist, und sie versuchen, eine/Einstellungen Seite zuzugreifen.
- Meine Einstellungen Controller erkennt basierend auf
$auth.isAuthenticated() != true
, dass sie nicht angemeldet sind, und leitet sie an/login - Benutzer füllt ihre E-Mail-Adresse und Passwort und schlägt einreichen.
Was würde ich wie auf diesem dritten Schritt zu tun ist, sie dann in das Verzeichnis/Einstellungen Seite umleiten, nicht die Homepage.
Ich denke, ich würde diese Variable ändern:
$authProvider.loginRedirect = '/';
Das Problem ist, dass ich nicht $authProvider
in meiner loginCtrl.js
Datei, ohne sich einen „unbekannten Anbieter“ Fehler in meiner Konsole enthalten kann: https://docs.angularjs.org/error/ $ injector/unpr? p0 = Mit anderen Worten erkennt Angular $authProvider
nicht, wenn ich versuche, es einzuschließen. Hier ist, was meine loginCtrl.js
Datei wie folgt aussieht:
/* Everything is blowing up because I'm trying to include $authProvider */
angular.module("PrayerChain")
.controller("loginCtrl", ["$rootScope", "$scope", "$state", "$http", "$auth", "$authProvider", loginCtrl]);
function loginCtrl($rootScope, $scope, $state, $http, $auth, $authProvider) {
$authProvider.loginRedirect = '/settings';
$scope.login = function() {
$auth.login({ Email: $scope.email, Password: $scope.password })
.then(function() {
})
.catch(function (response, status, headers) {
console.log(response);
$scope.error = JSON.parse(response.data);
});
};
}
$authProvider
in einem Controller Ist einschließlich überhaupt möglich? Wenn nicht, was ist eine alternative Lösung, um zu ändern, wo Personen beim Anmelden mit Satellizer umgeleitet werden?
Danke.
Perfekte Austin. Das schnitt den Senf. Vielen Dank! –
Eine kurze Frage hier. Ich muss die Umleitung von der URL mit $ stateParams greifen, aber das ist zur Konfigurationszeit nicht verfügbar. Wie in aller Welt erwartet Satellizer, dass du das kannst? –
Das ist eine gute Frage. Ich weiß eigentlich noch nichts über Satellizer, aber ich werde mit dir suchen. –