Node.js Meteor创建一个带有密码的启动页面,用于进入应用程序.在启动页面之后,保持用户登录独立并在应用程序内



想要创建一个用户可以输入每个人都相同的网站密码的splash页面。这是隐藏网站,而它只是在预览。不知道为什么我不知道怎么做。在流星中,它必须相对笔直。

当前安装了Meteor-Router。这是最好的方法吗?我该怎么做呢?

谢谢

在CoffeeScript中有一个可能的答案:

Router上添加过滤器,如:

Meteor.Router.filters
  'authorizeUser': (page) ->
    if Session.get 'knowsTheSecret' then page else 'splash'
Meteor.Router.filter 'authorizeUser'

表示每个页面请求必须设置knowsTheSecret会话变量,否则用户将被引导回splash页面(在其他地方定义)。

在服务器上(例如将其放在server目录中)。创建一个方法来验证密码:

Meteor.methods
  checkSecret: (string) ->
    string is 'super secret password'

当用户单击启动页面上的登录按钮时,您可以像这样调用该方法:

Template.splash.events
  'click button': ->
    password = $('#text-field').val()
    Meteor.call 'checkSecret', password, (err, result) ->
      Session.set 'knowsTheSecret', result

所以Session变量只有在用户确实知道这个秘密时才会被设置。当然,这并不安全(用户可以打开一个控制台并手动设置会话变量),但这是一个开始。尝试一下,看看它是否能让你更接近一个可行的解决方案。

最新更新