我正在开发一个将Java Server作为后端的FLEX应用程序。
我需要什么:
- FLEX应用程序只能在用户登录时使用;
- FLEX应用程序还需要知道它所记录的用户,因为它将显示有关他的特定内容;
- 我需要在每次webservice调用上执行身份验证;
但是,网页正在使用 PHP 以及登录系统进行开发。
经过一番挖掘,我发现我可以使用PHP会话ID来验证每个webservice调用,使用php-java-bridge,因此PHP和Java都可以共享同一个会话。
我的问题是我不知道FLEX应用程序如何获取当前的PHP会话ID。我知道有可能通过flashvars传递它,但我认为它不安全。
如果有人有其他解决方案,即使不使用PHP会话ID,我也会非常感激。
提前致谢。
答案 0 :(得分:0)
我认为Flex没有直接访问PHP会话ID的好处;你确定那是你需要的吗?
Flex创建的SWF文件用作客户端软件。而PHP和Java通常用作服务器端软件。尽量不要将Flex应用程序视为服务器端程序。
大多数Web应用程序处理会话的方式是服务器在客户端上设置一些cookie。浏览器会根据每个请求自动传递该cookie;并且服务器使用该cookie值将请求与服务器端会话同步。我知道ColdFusion和Java是这样工作的,我假设PHP使用类似的机制。
每当您的SWF(AKA Flex App)向远程服务器发出请求时,该请求将包含服务器设置的所有cookie,就像它是正常的浏览器请求一样。服务器应自动将Flex请求同步到服务器端会话。
这有帮助吗?
答案 1 :(得分:0)
你可以有一个php页面,它将由flex使用httpService调用,返回$ _SESSION ['userName']或你的会话变量。如果返回空。停止加载程序。希望它有意义。因为我做了同样的事情..