我有一个简单的Meteor应用程序演示,我想部署它,但我希望它受密码保护。不需要个人用户帐户 - 现在只需一个登录/ pword即可。
有什么建议吗?我意识到Meteor在积极开发中有一个auth分支,所以不久之后就会有一个全功能的解决方案。但如果有人能建议短期阻力最小的道路,我将不胜感激。
感谢
答案 0 :(得分:4)
是的,如果您编写一小段连接中间件然后将其放入堆栈的开头,则可能。试试这个: -
if (Meteor.is_server) {
Meteor.startup(function () {
var require = __meteor_bootstrap__.require;
var connect = require('connect');
__meteor_bootstrap__.app.stack.splice(0, 0, {
route: '',
handle: connect.basicAuth(function(user, pass){
return 'guest' == user & 'password' == pass;
})
});
});
}
答案 1 :(得分:2)
我必须稍微调整@Jabbslad代码才能使其与0.6.5一起使用:
if (Meteor.is_server) {
Meteor.startup(function () {
WebApp.connectHandlers.stack.splice(0, 0, {
route: '',
handle: WebApp.__basicAuth__(function(user, pass){
return 'guest' == user & 'password' == pass;
})
});
});
}
我不喜欢用connect.basicAuth
替换WebApp.__basicAuth__
,但Npm.require("connect")
在Meteor 0.6.5中抛出错误,我找不到原因。