我试图在未经授权的情况下将用户重定向到 403 页面。我在 CM9Cwq7HXD6yHjKRp 中添加了角色“admin”、“default-group”,它在模板级别上就像一个魅力。但在路由器上无法按预期工作。
我的路线组分为 2 个主要组
// Public routes
var publicFlowRouter;
publicFlowRouter = FlowRouter.group({});
// Private routes
var privateFlowRouter;
privateFlowRouter = FlowRouter.group({
triggersEnter: [
function() {
var route;
if (!(Meteor.loggingIn() || Meteor.userId())) {
route = FlowRouter.current();
if (route.route.name !== 'home') {
Session.set('redirectAfterLogin', route.path);
}
return FlowRouter.go('home');
}
}
]
});
这些路由没有任何问题,但问题从 adminPrivateFlowRouter 开始;
// Private routes extended for admin
var adminPrivateFlowRouter;
adminPrivateFlowRouter = privateFlowRouter.group({
triggersEnter: [
function() {
// If user is not authenticated redirect to homepage
console.log(Meteor.userId());
console.log(Roles.userIsInRole(Meteor.userId(), 'admin', 'default-group'));
if (Roles.userIsInRole(Meteor.userId(), 'admin', 'default-group')) {
console.log('Authenticated user');
} else {
console.log('403 Access Denied');
//return FlowRouter.go('home');
}
}
]
});
工作不稳固。当我刷新同页控制台时有时会说 CM9Cwq7HXD6yHjKRp false 403 Access Denied
CM9Cwq7HXD6yHjKRp true 认证用户
没找到问题出在哪里,谢谢