想要创建一个用户可以输入每个人都相同的网站密码的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
变量只有在用户确实知道这个秘密时才会被设置。当然,这并不安全(用户可以打开一个控制台并手动设置会话变量),但这是一个开始。尝试一下,看看它是否能让你更接近一个可行的解决方案。