8

我发现 JSF 2.0 Flash 范围是通过 cookie 在 Mojarra 2.x 中实现的。似乎发生的情况是,当使用 Flash 从视图 A 导航到视图 B 时,JSF 会发送重定向响应。正是这个包含 set-cookie 标头的响应。

由于 cookie 对浏览器来说是全局的,我想知道这导致竞争条件的可能性有多大。由于 cookie 是在重定向响应期间设置的,我试图找出 HTTP 规范是否以某种方式保证浏览器发出的响应请求始终是第一个使用此 cookie 的请求。

然而,一般来说,如果第一个请求以某种方式停止(因为 Internet 决定将该特定请求路由到世界的另一端),然后来自另一个选项卡的第二个请求首先到达服务器,则可能仍然存在问题。

将 cookie 用于两页之间的 flash 范围不是一个糟糕的主意,还是我忽略了某些东西并且它是否完全安全?

4

1 回答 1

2

如果有资源,例如文件或 cookie ......当然,总会有机会成为竞争条件。但是你应该调查一下,如何避免它。

我认为完美保存它的答案是EJB 3.0 我们使用 EJB 3.0 因为它是事务安全的。与我们将请求传递给 EJB 以在数据库中插入数据的方式相同,您可以使用 EJB 作为协商器与您的闪存范围进行交互。这样,您的交易将得到保障,这意味着您将没有比赛条件的风险。

于 2011-06-23T20:20:12.837 回答