Meteor FlowRouter中的角色正在快速工作
我试图在未授权时将用户重定向到403页。我在CM9Cwq7HXD6yHjKRp中添加了“管理员”、“默认组”角色,它在模板级别上就像一个符咒。但在路由器上无法按预期工作 我的路线组分为2个主要组Meteor FlowRouter中的角色正在快速工作,meteor,meteor-accounts,flow-router,Meteor,Meteor Accounts,Flow Router,我试图在未授权时将用户重定向到403页。我在CM9Cwq7HXD6yHjKRp中添加了“管理员”、“默认组”角色,它在模板级别上就像一个符咒。但在路由器上无法按预期工作 我的路线组分为2个主要组 // Public routes var publicFlowRouter; publicFlowRouter = FlowRouter.group({}); // Private routes var privateFlowRouter; privateFlowRouter = FlowRout
// 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');
}
}
]
});
工作不稳定。当我刷新samepage时,控制台有时会说
CM9Cwq7HXD6yHjKRp
假的
403拒绝访问
CM9Cwq7HXD6yHjKRp
真的
认证用户
我找不到问题所在,谢谢
当
Roles
订阅就绪时,您可以使用FlowRouter.wait()
和FlowRouter.initialize()
手动初始化FlowRouter来解决问题。我也有同样的问题,只是它在本地主机上工作正常,而在服务器上工作不正常。我得到了一致的结果,对userIsInRole
的调用总是false,这是不正确的。他还问了一个问题