当前位置:  开发笔记 > 编程语言 > 正文

Node.js的基本身份验证和解析

如何解决《Node.js的基本身份验证和解析》经验,为你挑选了1个好方法。

我目前正在使用NodeJS开发RESTful Web服务并进行解析.

我已经为数据库启动并运行了node-mysql,但我也希望实现HTTP Basic身份验证.

我只用Apache和一个.htaccess文件做了一次.

但是在这里,网络服务器带来了解决方案,我这样开始:

var server = restify.createServer({
  name: 'my webservice'
});

在restify文档(http://mcavage.me/node-restify/#Bundled-Plugins)中列出了一个Authentication Parser插件,但我无法弄清楚如何使用它.

req.username即使我使用,该值也始终设置为匿名http://user:pass@url....

最好的办法是,如果我可以将它与.htpasswd文件一起使用来存储/访问用户并通过.

有谁知道如何用restify或其他模块实现这个?



1> Nico..:

最后,我找到了一种方法,无需任何额外的模块.

首先我发送correkt标头:

var auth = req.headers['authorization'];
res.statusCode = 401;
res.setHeader('WWW-Authenticate', 'Basic realm="Secure Area"');
res.end('need creds');

然后我检查用户并传递,如果确定,则发送正确的状态代码

res.statusCode = 200;  // OK

如果密码不正确:

  res.statusCode = 401; // Force them to retry authentication
  res.setHeader('WWW-Authenticate', 'Basic realm="Secure Area"');
  res.end('You shall not pass');

这非常有效.我只是在阅读.htpasswd和加密密码时遇到一些麻烦.有谁知道如何检查.htpasswd文件的普通密码?

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有