摘要:下面详述的行为似乎表明,如果您在 www.someplace.com 上的应用程序通过 SharedObject 设置/检索数据,那么如果用户在 someplace.com 上点击您的应用程序,则会出现某种 .sol 冲突,然后在someplace.com?name=value。
任何人都可以证实或反驳这一点吗?
我正在开发一个为用户提供登录页面的 Flex Web 应用程序。当用户登录后,他/她会看到一个与“组”相关联的“房间”。
我们将最后访问的房间/组组合存储在 SharedObject 中 - 因此,当给定用户登录时,他们会被带到他们最近处于活动状态的房间。
这很好用,但我们也有一个自动登录系统,该系统涉及用户单击应用程序 url 的链接,并附有查询字符串。这些链接有两种类型。
1)查询字符串包括username、groupId、roomId
2) 查询字符串只包含用户名
因为我们工作速度很快,而且只有少数开发人员,所以自动登录系统是建立在 last-vist 系统上的。在自动登录过程中,会检查 url,如果在查询字符串中找到 groupId 和 roomId 值,则打开 SharedObject 并且最后访问组/房间 id 值被参数值覆盖。
这也可以正常工作,当应用程序遇到第二种类型的查询字符串(没有 groupId 和 roomId 参数)时,应用程序会像往常一样转到 SharedObject 以获取存储的房间和组 ID 值。这就是问题所在:
它返回的值是最后一个房间/组参数值是什么,而不是最后一次访问房间/组值是什么。
如果给定用户从未使用包含组和房间 ID 值的查询字符串访问应用程序,则应用程序会从 SharedObject 获取空值。
它需要一些挖掘,但看起来正在发生的是,如果 URL 中存在查询字符串,则第二组数据正在存储/预期在 SharedObject 中。
在文本编辑器中查看 .sol 文件时,我会看到更多未翻译的代码以及其他组和房间值,一旦我使用包含查询字符串的 URL 访问应用程序。
我在网上没有找到任何关于此的内容,但这可能只是由于缺乏必要的搜索技能。
有没有其他人遇到过类似的事情?或者你知道如何解决这个问题吗?
我已经尝试将 Security.exactSettings 设置为 false,我真的希望这会奏效。