Ich versuche, geschützte Routen wie diese zu haben: 1). loggedin user group routes 2.) admin routes, 3.) student routes, 4.) public routes
. Die LoggedInUser
funktioniert wie erwartet, aber die 2 anderen Routen - schooladmin
und funktioniert nicht wie benötigt. Nach dem Einloggen als Admin oder als Student, sollte die jeweilige Benutzerin in der Lage sein, zu den erlaubten URLs zu gehen, aber immer, wenn ein Schuladministrator zum Beispiel http://localhost/students anmeldet, wird er automatisch zurück zum Dashboard weitergeleitet für Schüler. Was soll ich richtig machen? Vielen Dank.FlowRouter standardmäßig auf die Zielseite
Diese Routengruppe erlaubt nur angemeldete Benutzer.
var LoggedInUser = FlowRouter.group({
name: 'currentUser', triggersEnter: [function (context, redirect) {
if (Meteor.loggingIn() || Meteor.userId()) {
FlowRouter.watchPathChange();
let currentRoute = FlowRouter.current();
if (!currentRoute.path) {
FlowRouter.go('/dashboard');
} else {
FlowRouter.go(currentRoute.path);
}
} else {
redirect('/');
}
}]
});
dies ist der Weg Gruppe für die Schule admins
var schooladmin = LoggedInUser.group({
name: 'schooladmins', triggersEnter: [function (context, redirect) {
FlowRouter.watchPathChange();
let currentRoute = FlowRouter.current();
if (Roles.userIsInRole(Meteor.userId(), ['super-admin', 'admin'])) {
console.log(currentRoute.path);
FlowRouter.go(currentRoute.path);
} else {
redirect('dashboard');
}
}]
});
dies die Route
var students = LoggedInUser.group({
name: 'students', triggersEnter:[function (context, redirect) {
FlowRouter.watchPathChange();
let currentRoute = FlowRouter.current();
if (Roles.userIsInRole(Meteor.userId(), ['manage-team', 'student-page'])) {
FlowRouter.go(currentRoute.path);
} else {
redirect('dashboard');
}
}]
});
Beispielrouten die Gruppen für Studenten ist an gebunden sind für die Schule admins Diese Probe Route ist nur zum Zugriff
schooladmin.route('/students', {
name: 'students', action(){
BlazeLayout.render('formrender', {formrend: 'student'});
}
});
dieser Weg ist für Schüler
students.route('/student/dashboard', {
name: 'students-dashboard', action(){
BlazeLayout.render('studentlayout', {studentrender: 'studentdashboard'});
}
});