3

我想在我的 php 项目中使用 express.js 对应用程序进行私有访问,例如 .htaccess 和 .htpasswd 。

我正在使用http-auth

这是我的代码:

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

问题是我得到一个错误:

500 TypeError: Object function (req, res){ res.render('index', { title: 'Express' }); } 没有方法'indexOf'

无需认证,

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

工作没有任何麻烦。

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

4

2 回答 2

2

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

于 2013-08-06T16:52:26.263 回答
1

我认为现在的使用模式不同

// 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);
于 2016-04-22T11:13:49.540 回答