Wygląda na to, że Deps.autorun jest drogą, ale Router.go nie działa w obrębie Deps.autorun.Jak przekierować po zalogowaniu się użytkownika lub po prostu wylogowaniu
Odpowiedz
Oto przykład z trzema drogami: index
, signin
i dashboard
:
Router.configure({layoutTemplate: 'layout'});
Router.map(function() {
this.route('index', {path: '/'});
this.route('signin');
this.route('dashboard');
});
var mustBeSignedIn = function(pause) {
if (!(Meteor.user() || Meteor.loggingIn())) {
Router.go('signin');
} else {
this.next();
}
};
var goToDashboard = function(pause) {
if (Meteor.user()) {
Router.go('dashboard');
} else {
this.next();
}
};
Router.onBeforeAction(mustBeSignedIn, {except: ['signin']});
Router.onBeforeAction(goToDashboard, {only: ['index']});
Jeśli użytkownik znajduje się na stronie index
i ona jest zalogowany, zostanie ona automatycznie przekierowany do strony dashboard
. Na dowolnej stronie oprócz signin
, jeśli użytkownik nie jest zalogowany, zostanie przekierowany na stronę signin
. onBeforeAction
jest reaktywny, więc te reguły będą egzekwowane natychmiast, jeśli użytkownik się zaloguje lub wyloguje.
Oczywiście trasy będą różne, ale mam nadzieję, że ten przykład ilustruje jeden ze sposobów, aby to zadziałało z żelaznym routerem.
Zobacz także artykuł w sekcji iron-router guide.
var mustBeSignedIn = function(pause) {
if (!(Meteor.user() || Meteor.loggingIn())) {
Router.go('signin');
} else {
this.next();
}
};
var goToDashboard = function(pause) {
if (Meteor.user()) {
Router.go('dashboard');
} else {
this.next();
}
};
FYI, pause() nie jest obsługiwana teraz, po prostu zastąpić this.next()
Kilka rzeczy powyższe wydają się być nieaktualne. Oto, jak działam w obecnej chwili:
Router.configure({
layoutTemplate: 'Layout'
});
Router.map(function() {
this.route('index', {path: '/'});
this.route('login');
this.route('home');
});
var mustBeSignedIn = function() {
if (!(Meteor.user() || Meteor.loggingIn())) {
Router.go('login');
} else {
this.next();
}
};
var goHome = function() {
if (Meteor.user()) {
Router.go('home');
} else {
this.next();
}
};
Router.onBeforeAction(mustBeSignedIn, {except: ['login']});
Router.onBeforeAction(goHome, {only: ['index', 'login']});
- 1. Wyświetlanie wiadomości flash po zalogowaniu się/wylogowaniu
- 2. Przekierowywanie wywołań po wylogowaniu
- 3. Przekierowanie po zalogowaniu: Web.config
- 4. Jak uzyskać dane użytkownika po zalogowaniu się na LinkedIn
- 5. Przekierowanie Angular2 po zalogowaniu
- 6. NamedPipeServerStream.EndWaitForConnection() po prostu zawiesza się po użyciu
- 7. Przycisk powrotu przeglądarki po wylogowaniu się
- 8. window.navigator lub po prostu nawigator?
- 9. Aktualizuj atrybuty po zalogowaniu się Wymyśl
- 10. Jak ponownie załadować aplikację Angular 2 po wylogowaniu użytkownika?
- 11. Przycisk powrotu CodeIgniter po wylogowaniu
- 12. Jak rozbroić określoną sesję php po wylogowaniu
- 13. Rethrow UncaughtExceptionHandler Wyjątek po zalogowaniu się
- 14. przekierowanie do oryginalnego miejsca po zalogowaniu się
- 15. Symfony2- Logowanie pojawia się ponownie po zalogowaniu
- 16. NPM: jak po prostu uruchomić po instalacji?
- 17. Jak Google traktuje przycisk Wstecz po wylogowaniu?
- 18. Facebook przycisk wylogowania i przekierowanie po wylogowaniu
- 19. Gniazda: BufferedOutputStream lub po prostu OutputStream?
- 20. Symfony3 Przechowywanie lokalizacji po zalogowaniu
- 21. MembershipUser.IsOnline jest prawdziwe nawet po wylogowaniu
- 22. jak po prostu zaimplementować KeyListener?
- 23. Przekierowanie do określonego adresu URL po zalogowaniu
- 24. Członkostwo ASP.NET Logowanie przekierowujące do nieautoryzowanego po zalogowaniu użytkownika
- 25. Jak Symfony2 przekierowanie do żądanej strony po zalogowaniu
- 26. Jak pobierać strony przekierowujące po zalogowaniu?
- 27. Facebook jak przycisk "zrywa się" po zalogowaniu jako strona
- 28. Android: Facebook dostanie "Token dostępu użytkownika" po pomyślnym zalogowaniu
- 29. Jak ustawić limit czasu sesji po zalogowaniu się w passportjs?
- 30. Jak przekierować JSF po kilku sekundach
co to jest "goToPick"? – Warz
To był literówka. Dziękuję za wskazanie tego. –
Stosując to podejście, należy utworzyć pusty indeks szablonu. Dobrze? W przeciwnym razie Meteor zgłasza wyjątek. –