我发现JSF 2.0 Flash作用域是通过cookie在Mojarra2.x中实现的。似乎发生的情况是,当使用Flash从视图A导航到视图B时,JSF会发送重定向响应。正是这个响应包含了set cookie头。
由于cookie对浏览器来说是全球性的,我想知道这会导致种族歧视的可能性有多大。由于cookie是在重定向响应期间设置的,我试图了解HTTP规范是否以某种方式保证浏览器在响应中发出的请求始终是第一个使用此cookie的请求。
然而,一般来说,如果第一个请求以某种方式被搁置(因为互联网决定将该特定请求路由到世界的一半),然后源自另一个选项卡的第二个请求首先到达服务器,则可能仍然存在问题。
在两页之间的闪光灯范围内使用cookie不是一个糟糕的主意吗?或者我忽略了什么,它完全安全吗?
如果有资源,比如文件或cookie。。。当然,总会有机会达到比赛状态。但你应该调查,如何避免它。
我认为完美保存它的答案是EJB 3.0我们使用EJB 3.0是因为它是事务安全的。与我们向EJB传递在数据库中插入数据的请求相同,您可以使用EJB作为协商器与您的flash作用域进行交互。这样你的交易将得到保障,这意味着你将在比赛条件下无风险。