Javascript 我能';t使Alling:角色包正常工作
因此,我有一个启动时运行的初始化文件,该文件调用以下服务器端Meteor函数:Javascript 我能';t使Alling:角色包正常工作,javascript,meteor,packages,roles,meteor-accounts,Javascript,Meteor,Packages,Roles,Meteor Accounts,因此,我有一个启动时运行的初始化文件,该文件调用以下服务器端Meteor函数: createAdminUser : function () { var userObject = { email: "admin@test.com", password: "abc123", profile: { first_name: "admin", last_name: "user"} }; Accounts.createUser(use
createAdminUser : function () {
var userObject = {
email: "admin@test.com",
password: "abc123",
profile: { first_name: "admin", last_name: "user"}
};
Accounts.createUser(userObject, function(){
});
Roles.addUsersToRoles(userObject, 'admin');
}
用户创建成功,但当我进入javascript控制台检查当前用户是否启用了“管理员”角色时,返回false:
input -> Roles.userIsInRole(Meteor.user(), 'admin')
output -> false
文档中说,只有在创建了用户之后才应该调用Role函数,这(我很确定)是我正在做的,不是吗
如果有人能解释我的愚蠢,我将非常感激。Roles.addUsersToRoles(id,'Role')的第一个参数需要是数据库中用户对象的id(由Accounts.createUser返回) 试试这个:
var userObject = {
email: "admin@test.com",
password: "abc123",
profile: { first_name: "admin", last_name: "user"}
};
var userId = Accounts.createUser(userObject);
Roles.addUsersToRoles(userId, 'admin');
Roles.addUsersToRoles(id,'Role')的第一个参数需要是数据库中用户对象的id(由Accounts.createUser返回) 试试这个:
var userObject = {
email: "admin@test.com",
password: "abc123",
profile: { first_name: "admin", last_name: "user"}
};
var userId = Accounts.createUser(userObject);
Roles.addUsersToRoles(userId, 'admin');
我已经试过了,但不幸的是结果是一样的。还有其他建议吗?
console.log(Meteor.user())
说了些什么?我试过了,但不幸的是结果是一样的。还有其他建议吗?console.log(Meteor.user())
怎么说?