流量路由器和过滤角色 - Meteor
Flow router and filtering roles - Meteor
我现在正在处理一个问题超过 10 天,我不知道该怎么办,所以我希望能在这里找到我的解决方案。
我有两个角色 'admin' 和 'user':由于 alanning:roles 包,第一个用户被添加为管理员。但是,问题是我不确定是否将 'user' 角色设置为默认角色。
下图是createUser函数的代码。
客户//账户//account.js
Template.signup.events({
'submit form': function(event) {
event.preventDefault();
var nameVar = event.target.signupName.value;
var emailVar = event.target.signupEmail.value;
var passwordVar = event.target.signupPassword.value;
Accounts.createUser({
name: nameVar,
email: emailVar,
password: passwordVar,
profile: {
roles: ["user"]
}
});
}
});
下面的代码是 Accounts.onLogin 函数:
客户端//库//routes.js
if (Meteor.user().roles = 'admin'){
FlowRouter.go('dashboard');
}
else if (Meteor.user().roles = 'user'){
FlowRouter.go('account');
}
希望您了解我的问题所在,我期待着解决方案。总之,我需要有 'admin' 和 'user' 角色,当它是管理员时,它应该去 /admin-dashboard 路由,如果它是用户应该去 /account 路线。
谢谢大家 :D
问题在这里:
if (Meteor.user().roles = 'admin'){ // assigning, not equality check
FlowRouter.go('dashboard');
}
else if (Meteor.user().roles = 'user'){
FlowRouter.go('account');
}
但是 roles
字段是一个数组,所以这样做:
if (Meteor.user().roles.indexOf('admin') !== -1){
FlowRouter.go('dashboard');
}
else if (Meteor.user().roles.indexOf('user') !== -1){
FlowRouter.go('account');
}
我现在正在处理一个问题超过 10 天,我不知道该怎么办,所以我希望能在这里找到我的解决方案。
我有两个角色 'admin' 和 'user':由于 alanning:roles 包,第一个用户被添加为管理员。但是,问题是我不确定是否将 'user' 角色设置为默认角色。
下图是createUser函数的代码。
客户//账户//account.js
Template.signup.events({
'submit form': function(event) {
event.preventDefault();
var nameVar = event.target.signupName.value;
var emailVar = event.target.signupEmail.value;
var passwordVar = event.target.signupPassword.value;
Accounts.createUser({
name: nameVar,
email: emailVar,
password: passwordVar,
profile: {
roles: ["user"]
}
});
}
});
下面的代码是 Accounts.onLogin 函数:
客户端//库//routes.js
if (Meteor.user().roles = 'admin'){
FlowRouter.go('dashboard');
}
else if (Meteor.user().roles = 'user'){
FlowRouter.go('account');
}
希望您了解我的问题所在,我期待着解决方案。总之,我需要有 'admin' 和 'user' 角色,当它是管理员时,它应该去 /admin-dashboard 路由,如果它是用户应该去 /account 路线。
谢谢大家 :D
问题在这里:
if (Meteor.user().roles = 'admin'){ // assigning, not equality check
FlowRouter.go('dashboard');
}
else if (Meteor.user().roles = 'user'){
FlowRouter.go('account');
}
但是 roles
字段是一个数组,所以这样做:
if (Meteor.user().roles.indexOf('admin') !== -1){
FlowRouter.go('dashboard');
}
else if (Meteor.user().roles.indexOf('user') !== -1){
FlowRouter.go('account');
}