在我的Flex应用程序中,每次浏览器刷新时都会重置channelSet。如果您已经过身份验证并刷新了页面并检查了channelSet.authenticated,则会显示false,但是您的remoteObject调用仍然有效,因为服务器会话仍然存在。
我有一个服务调用,用于检查服务器上的会话,并且可以在用户已经过身份验证但未注销时识别出存在的会话,但是如何绕过登录并仍然将channelSet.authenticated设置为true而不调用当channelSet.login()回到页面时(当然是在发生超时之前)?
更新: 如果退出浏览器,则不会关闭用户会话。目前它确实让你再次登录。但是有一个现有的会话,所以如果你不是会话中的用户,blazeds会返回重新验证错误,如果你是用户,它还允许你使用任何密码登录,因为它看到会话已经过身份验证
那么我怎么能这样做才能在关闭浏览器或刷新时使会话失效?我可以通过在应用程序启动时自动注销来实现,但这似乎并不优雅。
或者我可以这样做:
<body onunload="MyFlexApp.myFlexFunction();"
&GT;
并在离开页面时自动注销。
处理此问题的正确方法是什么?
答案 0 :(得分:0)
但是他们没有经过身份验证......你怎么能确定现在使用应用程序的人和以前一样?关闭浏览器应该是打破与应用程序的链接的好方法。如果网吧中的下一个人只是通过访问你的页面就可以访问,这有点破坏了安全性吗?
这就是为什么,即使有当前会话,你也应该强制重新认证。