我想在我的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()......它可以工作吗? 或者我错过了什么?
答案 0 :(得分:2)
我认为res.redirect
的参数需要是一个URL字符串,对吧?您似乎正在传递请求处理程序(function (req, res) {...}
)。
答案 1 :(得分: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);