我想创建一个flash标记文件,它将令牌存储在本地共享对象中。 我需要做什么来读取该令牌并在后端的数据库中查找它?这有可能吗?
这是一个可能的场景:
我研究了很长一段时间,我发现闪存可以使用LSO来存储闪存电影的读取数据......这是否意味着服务器无法访问数据?
谢谢!
答案 0 :(得分:1)
是的,这是可能的,但您需要将其视为两种不同的操作。一方面你存储&读取SharedObject,另一方面,您与服务器通信并查询数据库。
您可以使用ZendAmf服务器与PHP通信。您可以将SharedObject数据发送到PHP以进行数据库查询,当数据库返回结果时,ZendAmf会向Flash发送响应。
由Lee Brimelow检查Zend Amf video introduction
答案 1 :(得分:0)
由于您已使用asp.net标记了问题,我相信存储/检索/验证cookie对您来说不是问题。
否则也是如此,如果你需要帮助在asp.net中使用cookies,那么网络就是那些如何使用。一个保存你的笔画: http://msdn.microsoft.com/en-us/library/ms178194.aspx
因此,如果密码,用户详细信息等数据不是您的“令牌”所指的数据,那么您只需将令牌作为一种查询字符串传递即可。这可以使用flashvars来完成。
访问该链接以获得良好的小声音。
http://www.permadi.com/tutorial/flashVars/index.html
修改强>
我只是指出asp优雅地做到了。
使用令牌,从LSO读取以记住用户。
var token:SharedObject;
token = SharedObject.getLocal("UserToken");
if (token.data.value==undefined)
token.data.value = ?; // Pass the User token here while writing
else
? = token.data.value; // Use the values while reading
如果您希望使用本地共享对象示例,请按照下列步骤操作: http://www.emanueleferonato.com/2008/12/28/understanding-as3-shared-objects/
但是请记住,在没有用户知识的情况下存储东西是不可取的。因此,请努力让用户知道他将被网站记住。像记住我的复选框?
答案 2 :(得分:0)
本地共享对象更像本地存储而不是像cookie一样。从最终用户的角度来看,术语“Flash cookie”是合适的,但从技术上讲,LSO不像cookie,它不会在HTTP请求中自动发送。相反,客户端上的代码需要从LSO读取值并将其显式发送到服务器。
答案 3 :(得分:0)
我部分同意PatrickS;您希望的功能应该被视为一组不同的过程。但我认为该组的大小是3,而不是2:
所以不,服务器无法创建或访问LSO数据。但是,它可以代表创建或访问(并发回)服务器。最好使用ExternalInterface
,如下所示:
ExternalInterface.addCallback()
定义的预期Flash应用程序的外部接口注册方法。DOMElement
表示,并调用#1中的方法,现在应该将其定义为DOMElement
的成员。如果您不想完成所有这些操作,请查看BakedGoods;它是一个Javascript库,它建立了一个统一的接口,可用于在所有本机和一些非本机存储设施中执行常见的存储操作,包括Flash本地共享对象。
有了它,可以使用以下代码完成创建LSO:
bakedGoods.set({
data: [{key: "key", value: "value"}],
storageTypes: ["flash"],
complete: function(byStorageTypeRemovedItemKeysObj, byStorageTypeErrorObj){/*code*/}
});
检索和删除数据同样简单。我知道,请相信我所有这一切;我是它的维护者:))