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