Express中间件是如何验证的

按我所知道的,登录验证一般就是对比密码的 Hash,我最近研究 nodeclub 项目的代码。使用app.use() 中间件来做验证。

  1. 在登录的时候post登录数据
  2. 服务器返回cookie
  3. 跳到中间件进行验证
  4. ???

以上是我的分析。

阅读 4.4k
1 个回答

routes.js的login路由

  app.post('/signin', sign.login);

说明使用的是post method,路径是/signin,controller是sign.login

sign.login代码在这https://github.com/cnodejs/nodeclub/blob/master/controllers/sign.js#L113-L149

主要逻辑是

验证post到的数据 => 用户是否存在 => 密码是否正确(md5) => 用户是否激活

成功的话设置session

// store session cookie
gen_session(user, res);

最后重定向

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题