在最新的 Meteor 版本(版本 0.5.8)中,Session
已从服务器端代码中删除。
以前我用过Session
储藏客户特定的服务器的变量;该功能的替代品是什么?
案例示例:User One
打开浏览器,User Two
打开浏览器。一个调用服务器上的方法设置一些令牌,另一个调用服务器上的方法执行相同的操作。然后,当客户请求某些内容时,我需要访问它。我如何区分两者?
您需要将令牌保存到数据库中的集合中。
你可以使用Session
在服务器上,如果您想简单地通过复制session
打包到您的应用程序中packages
目录并更改其 package.js 以也加载到服务器上。但是 Session 是一种内存中的数据结构,因此如果您有多个服务器实例,它将不起作用;并且您将无法在不丢失用户令牌的情况下重新启动服务器。
如果您将令牌存储在数据库中,它们将在服务器重新启动后持续存在,并且将与 Meteor 的未来版本一起使用能够在需要时通过添加更多服务器实例来扩展应用程序 https://trello.com/card/multitier-server-architecture-support-very-large-numbers-of-simultaneous-clients/508721606e02bb9d570016ae/46.
如果您需要使令牌过期(以便您的集合不会无限制地增长),您可以向令牌集合添加“lastUsed”日期字段,并定期删除超过您选择的过期时间未使用的令牌时期。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)