Dường như Deps.autorun là con đường để đi nhưng Router.go dường như không hoạt động trong Deps.autorun.Cách chuyển hướng sau khi người dùng vừa đăng nhập hoặc vừa đăng xuất
Trả lời
Dưới đây là một ví dụ với ba tuyến đường: index
, signin
và 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']});
Nếu người dùng là trên trang index
và cô được đăng nhập vào, cô sẽ tự động được chuyển đến trang dashboard
. Trên bất kỳ trang nào ngoại trừ signin
, nếu người dùng chưa đăng nhập, cô ấy sẽ được chuyển đến trang signin
. onBeforeAction
có phản ứng nên các quy tắc này sẽ được thực thi ngay lập tức nếu người dùng đăng nhập hoặc đăng xuất.
Tất nhiên các tuyến đường của bạn sẽ khác nhau, nhưng hy vọng ví dụ này minh họa một cách để thực hiện công việc này với bộ định tuyến sắt.
Cũng xem phần using hooks của 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, tạm dừng() không được hỗ trợ bây giờ, chỉ cần thay thế với this.next()
Một vài điều trên dường như là lỗi thời. Dưới đây là cách tôi làm việc tại thời điểm hiện tại:
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. Chuyển hướng sau khi người dùng đã đăng nhập
- 2. Thành viên ASP.NET Đăng nhập chuyển hướng trái phép khi người dùng đăng nhập
- 3. Chuyển hướng sau khi đăng nhập?
- 4. TYPO3 - Chuyển hướng đến trang đăng nhập khi người dùng không đăng nhập
- 5. Chuyển hướng trở lại trang sau khi đăng nhập
- 6. Chuyển hướng người dùng trở lại URL ban đầu mong muốn sau khi đăng nhập
- 7. Chuyển hướng ASP.NET MVC sau khi đăng nhập vào trang mà người dùng đến từ
- 8. Chuyển hướng đến trang đăng nhập nếu người dùng chưa đăng nhập
- 9. Chuyển hướng sau khi đăng nhập vào Symfony 2
- 10. Chuyển hướng đến URL trước sau khi đăng nhập - Rails
- 11. Cách chuyển hướng người dùng sau khi đăng ký khi sử dụng Devise?
- 12. Tự động đăng nhập người dùng cục bộ sau khi đăng ký với IdentityServer3
- 13. Chuyển hướng đến URL cụ thể sau khi đăng nhập
- 14. Chuyển hướng URL dự định + chuyển hướng mặc định sau khi đăng nhập?
- 15. Cách tải cấu hình của người dùng mới đăng nhập trước khi chuyển hướng
- 16. chuyển hướng trở lại url sau khi đăng nhập
- 17. chuyển hướng đến trang đăng ký nếu người dùng không đăng nhập được nêu ra
- 18. Đăng nhập người dùng bị đăng xuất sau một thời gian
- 19. Laravel Chuyển hướng đến Trước sau khi đăng nhập
- 20. Testing chuyển hướng sau khi đăng nhập với lập mưu
- 21. Chuyển hướng bảo mật mùa xuân sau khi đăng nhập
- 22. Cách đăng xuất đúng cách ứng dụng web Java EE 6 sau khi đăng nhập
- 23. Cách đăng nhập bằng Tên người dùng hoặc id email
- 24. Làm cách nào để quay lại trang chuyển hướng sau khi đăng nhập (người viết mã)?
- 25. Không thể đăng nhập với tư cách người dùng khác sau khi đăng xuất khỏi ứng dụng iOS
- 26. Cách buộc người dùng đăng xuất symfony2
- 27. Cách chuyển hướng người dùng đến một url cụ thể sau khi đăng ký trong đăng ký django?
- 28. Trang khác cho người dùng đã đăng nhập và người dùng chưa đăng nhập tại gốc
- 29. Chuyển hướng người dùng đến trang đăng nhập tùy chỉnh khi sử dụng Azure AD
- 30. Phát sinh chuyển hướng trở lại vị trí ban đầu sau khi đăng nhập hoặc đăng ký?
'goToPick' là gì? – Warz
Đó là một lỗi đánh máy. Cảm ơn bạn đã chỉ ra điều đó. –
Sử dụng phương pháp này, bạn cần tạo chỉ mục mẫu trống. Đúng? Nếu không, Meteor sẽ ném một ngoại lệ. –