问题刚开始的时候很简单,一个很明白的需求:做应用的时候需要flex和普通页面的混合使用,所以想要用Flex访问Session的数据。
不过随着google到的文章,看了一堆讨论以后,问题似乎越来越复杂了。
http://www.forta.com/blog/index.cfm/2006/9/24/Flex-And-Session-State-Management
这篇文章的作者认为写flex的时候脑子里海还想着Session是受老观念的禁锢了。flex的客户端是Stateful的,而Session只是浏览器时代应付Stateless客户端的变通,所以既然用了Flex,就不要再考虑什么Session了。
问题一:不用Session,怎么让Server知道Client的身份?貌似一堆的变通方法,再加上安全方面的考虑,还是需要类似Session的方案。
问题二:服务器端的Session超时怎么设置?由于Flex client的很多操作都可以不经过与Server的交互,在有些比较强调安全性的应用中,Session的超时时间往往设置的比较短,比如15分钟,那么假设在15分钟后,用户准备提交他辛苦操作得到的结果的时候,服务器端却返回了一个没有登陆?
问题三:类似问题二,用户出去了15分钟,如果是普通页面,当用户回来再次操作时,页面可以立刻告诉用户已经超时退出,那么Flex的客户端要怎么样得到这个超时的事件?
不知道有没有什么好的方案?
不过随着google到的文章,看了一堆讨论以后,问题似乎越来越复杂了。
http://www.forta.com/blog/index.cfm/2006/9/24/Flex-And-Session-State-Management
这篇文章的作者认为写flex的时候脑子里海还想着Session是受老观念的禁锢了。flex的客户端是Stateful的,而Session只是浏览器时代应付Stateless客户端的变通,所以既然用了Flex,就不要再考虑什么Session了。
问题一:不用Session,怎么让Server知道Client的身份?貌似一堆的变通方法,再加上安全方面的考虑,还是需要类似Session的方案。
问题二:服务器端的Session超时怎么设置?由于Flex client的很多操作都可以不经过与Server的交互,在有些比较强调安全性的应用中,Session的超时时间往往设置的比较短,比如15分钟,那么假设在15分钟后,用户准备提交他辛苦操作得到的结果的时候,服务器端却返回了一个没有登陆?
问题三:类似问题二,用户出去了15分钟,如果是普通页面,当用户回来再次操作时,页面可以立刻告诉用户已经超时退出,那么Flex的客户端要怎么样得到这个超时的事件?
不知道有没有什么好的方案?