在Basic Http Auth Express.js之后重定向

时间:2013-08-06 15:58:10

标签: node.js authentication redirect express http-auth

我想在我的php项目中使用像.htaccess和.htpasswd这样的express.js私有访问应用程序。

我正在使用http-auth

这是我的代码:

app.get('/', function(req, res) {
  basic.apply(req, res, function(username) {
    res.redirect(routes.index);
  });
});

问题是我收到错误:

  

500 TypeError:对象函数(req,res){res.render('index',{title:'Express'});没有方法'indexOf'

无需身份验证,

app.get('/', routes.index);

没有任何麻烦。

我想一个中间件来读取我的索引,然后使用res.send()......它可以工作吗? 或者我错过了什么?

2 个答案:

答案 0 :(得分:2)

我认为res.redirect的参数需要是一个URL字符串,对吧?您似乎正在传递请求处理程序(function (req, res) {...})。

答案 1 :(得分:1)

我认为使用pattern now is different

// Authentication module.
var auth = require('http-auth');
var basic = auth.basic({
    realm: "Simon Area.",
    file: __dirname + "/../data/users.htpasswd" // gevorg:gpass, Sarah:testpass ...
});

// Application setup.
var app = express();

// Setup route.
app.get('/', auth.connect(basic), routes.index);