如何在流星上创建默认用户?
问题描述:
如果没有用户存在,我想创建一个管理员用户。我试了一下在服务器上的文件夹如何在流星上创建默认用户?
Meteor.startup(function() {
if(!Meteor.users.find().count()) {
var options = {
username: 'admin',
password: 'default-password',
email: '[email protected]'
};
Accounts.createUser(options);
}
});
这里面一个js文件是错误的流星显示控制台
Error
at app/packages/livedata/livedata_common.js:143:26
at /Users/camilo/Documents/Proyectos/IM/interno/.meteor/local/build/server/server.js:282:7
at Array.forEach (native)
at Function._.each._.forEach (/Users/camilo/.meteorite/meteors/meteor/meteor/0ffea1c4c308ed24906984f99b13b8fca5a0956c/dev_bundle/lib/node_modules/underscore/underscore.js:79:11)
at run (/Users/camilo/Documents/Proyectos/IM/interno/.meteor/local/build/server/server.js:227:7)
=> Exited with code: 1
我做错了或这是一个错误的流星吗?
我使用流星0.6.1和0.9.9的Node.js
答
一段时间后,我再次测试上面的代码与流星0.6.4和它的工作没有问题。可能是流星0.6.1的一个问题,或者我意外地在代码的某个地方解决了这个问题。
答
这种方式为我工作:
var users=[
{email: "[email protected]", username: "gra", name: "gra", roles:['admin']}
];
_.each(users, function(user){
Accounts.createUser({
email: user.email,
password: "admin",
profile: {username: user.username},
profile: {name: user.name},
roles: user.roles
});
});
答
我从来没有发现任何问题,创造对流星的用户。 这是我的CoffeeScript代码:
Meteor.startup ->
if Meteor.users.find.count() is 0
options =
email: '[email protected]'
password: 'pass'
Accounts.createUser(options)
答
我会建议一个/server/fixtures.js文件。在这个文件中,你可以添加你的默认用户创建:
if (Meteor.users.find().count() === 0) {
Accounts.createUser({
username: 'username',
email: 'email',
password: 'asdfasdf',
profile: {
first_name: 'fname',
last_name: 'lname',
company: 'company',
}
});
}
还有一个类似的问题http://stackoverflow.com/questions/11629759/how-can-i-create-users-server-side在流星,但并没有解决这个问题。 – Camilo 2013-04-10 21:10:48
您是否拥有accounts-password和accounts-base软件包? – Akshat 2013-04-10 21:21:58
是的。我可以从客户端,登录,注销等创建用户。 – Camilo 2013-04-10 22:01:05