当前位置: 首页 > 面试题库 >

在node.js和mongodb中创建注册和登录表单

从阎宝
2023-03-14
问题内容

我是node.js的新手,并希望为用户创建一个注册和登录页面。还需要对该用户进行适当的授权。我想将用户信息存储在mongodb数据库中。我该如何实现?有人可以提供我吗?这样做的代码,以便我可以开始使用node.js和mongodb。请帮助


问题答案:

您可以在Alex
Young
的Nodepad应用程序中找到要执行的操作的完整示例。您应该查看的2个重要文件是这些2:

https :
//github.com/alexyoung/nodepad/blob/master/models.js


https://github.com/alexyoung/nodepad/blob/master/app
.js

该模型的一部分如下所示:

  User = new Schema({
    'email': { type: String, validate: [validatePresenceOf, 'an email is required'], index: { unique: true } },
    'hashed_password': String,
    'salt': String
  });

  User.virtual('id')
    .get(function() {
      return this._id.toHexString();
    });

  User.virtual('password')
    .set(function(password) {
      this._password = password;
      this.salt = this.makeSalt();
      this.hashed_password = this.encryptPassword(password);
    })
    .get(function() { return this._password; });

  User.method('authenticate', function(plainText) {
    return this.encryptPassword(plainText) === this.hashed_password;
  });

  User.method('makeSalt', function() {
    return Math.round((new Date().valueOf() * Math.random())) + '';
  });

  User.method('encryptPassword', function(password) {
    return crypto.createHmac('sha1', this.salt).update(password).digest('hex');
  });

  User.pre('save', function(next) {
    if (!validatePresenceOf(this.password)) {
      next(new Error('Invalid password'));
    } else {
      next();
    }
  });

我认为他还解释了dailyjs网站上的代码。



 类似资料:
  • 我正在创建一个在一个页面中同时包含注册和登录的页面 我的代码如下所示 我使用bootstrap和w3schools进行样式设置。 我得到的问题是,当我提交任何一个空输入的表单时,它会给我两个表单中的错误。 也就是说(例如),当我提交空电子邮件和密码字段的登录表单时,错误显示在登录表单中和注册表单,该字段是空的。 我如何修复它?我想以不同的方式显示错误。 仍然对我的代码或问题有任何疑问,请在下面发表

  •   在开始编写自己的数据库应用程序时,读者很快会遇到两个令人头痛的问题。一是在访问ODBC数据源前,必须在ODBC管理器中手工注册DSN(数据源名)。这样的应用程序要求用户作额外的工作,显得很不专业。另一个问题是AppWizard和ClassWizard并不支持表的创建,程序员似乎必须先用DBMS创建好表,然后才能使用。如果一个数据库应用程序不能自己创建表,那么它的功能将大打折扣。 事实上,通过一

  • 用户管理是绝大部分Web网站都需要解决的问题。用户管理涉及到用户注册和登录。 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_MD5 = re.compile(r'^[0-9a-f]{32}$') @api @post('/api/users') def register_user(): i = ctx.request.input(name='', email=

  • 用户管理是绝大部分Web网站都需要解决的问题。用户管理涉及到用户注册和登录。 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_EMAIL = re.compile(r'^[a-z0-9\.\-\_]+\@[a-z0-9\-\_]+(\.[a-z0-9\-\_]+){1,4}$') _RE_SHA1 = re.compile(r'^[0-9a-f]{40}$') @pos