【问题标题】:Session timeout server push on Torquebox2Torquebox2 上的会话超时服务器推送
【发布时间】:2012-01-09 14:16:51
【问题描述】:

我想通过 javascript 通知浏览器端即将到来的会话超时。

我当前的实现会每隔一段时间轮询一个 URL,以了解是否还有 X 秒直到会话超时。

出于纯粹的学术扩展原因,在 Torquebox2 环境中轮询会话超时的替代方法是什么?

例如如果我使用websocket服务器,如何为用户添加会话超时信息,是否可以在信息推送后立即让客户端触发?

是否有一个简单的 gem 或替代方法可以为我完成大部分工作?

【问题讨论】:

    标签: jboss jruby jrubyonrails torquebox


    【解决方案1】:

    Web 套接字肯定比轮询更好。

    这里有一个在扭矩箱中使用网络套接字的好例子https://github.com/torquebox/stomp-chat-demo

    在此示例中,会话信息在 Sinatra 应用程序和 stomplets(类似于 http 控制器,但用于 Web 套接字)中设置和读取。 TorqueBox 中的 Web 套接字文档展示了如何在您的应用程序控制器和您的 stomplet 中使用会话 http://torquebox.org/documentation/current/stomp.html#d0e3602

    【讨论】:

    • 谢谢,我看了演示,但我主要对性能和安全感兴趣。似乎在那个演示中,任何人都可以编辑一些 javascript 并将自己作为其他人添加到公共名册中。所以安全是由我来维护的。 (也许使用 csrf 元标记?)
    • 关于 TorqueBox 如何公开 websockets 的好处之一是它使用了 Stomplets,您可以将其视为 MVC 意义上的控制器。当建立连接或从浏览器发送消息时,Web 会话将作为请求的一部分包含在内。这使您有机会在 Web 层(可以说属于该层)处理身份验证,并且您的 stomplet 只需检查会话以查看请求是否已通过身份验证。
    猜你喜欢
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    相关资源
    最近更新 更多