5

我有一个简单的 Meteor 应用程序演示,我想部署它,但我希望它有密码保护。不需要个人用户帐户——现在一个登录名/密码就足够了。

有什么建议吗?我意识到 Meteor 有一个正在积极开发中的 auth 分支,因此不久将提供一个功能齐全的解决方案。但如果有人能建议短期内阻力最小的路径,我将不胜感激。

谢谢

4

2 回答 2

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;
      })
    });
  });
}
于 2012-09-06T23:06:58.190 回答
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.basicAuthWebApp.__basicAuth__Npm.require("connect")在 Meteor 0.6.5 中抛出错误,我找不到原因。

于 2013-08-22T13:48:51.990 回答