我正在尝试使用在mLab上托管的远程数据库服务器来建立Keystone项目。我在这里https://itnext.io/building-a-node-cms-with-keystonejs-mongo-db-react-and-redux-part-i-ae5958496df2
使用本指南我已经使用我的mLab数据库URL在keystone.init()配置中编辑了mongo URL,并设法运行了该项目。
'mongo': 'mongodb://*username*:*password*@ds127624.mlab.com:27624/keystone',
但是,我无法以用户身份登录。
登录页面返回: “您输入的电子邮件和密码无效。”
我是否需要做一些其他配置才能使其正常工作?
....
user.js
var keystone = require('keystone');
var Types = keystone.Field.Types;
var User = new keystone.List('User');
User.add({
name: { type: Types.Name, required: true, index: true },
email: { type: Types.Email, initial: true, required: true, index: true },
password: { type: Types.Password, initial: true },
canAccessKeystone: { type: Boolean, initial: true },
});
User.register();
0.0.01-admin.js文件
var keystone = require('keystone');
var User = keystone.list('User');
exports = module.exports = function (done) {
new User.model({
name: { first: 'admin', last: 'user' },
email: 'admin@keystonejs.com',
password: 'admin',
canAccessKeystone: true,
}).save(done);
};
答案 0 :(得分:0)
对于带有密码的远程数据库,您还必须添加authsource
选项。基本上将?authSource = admin 添加到您的mongo网址中。 admin
是默认数据库,您也可以更改它
mongodb://*username*:*password*@ds127624.mlab.com:27624/keystone?authSource=admin