0

Local Shared Object にトークンを保存するフラッシュ SWF ファイルを作成したいと考えています。そのトークンを読み取り、バックエンドのデータベースで検索するにはどうすればよいですか? これはまったく可能ですか?

考えられるシナリオは次のとおりです。

  1. ユーザーが私の Web ページにアクセスします
  2. サーバー上でトークンが生成され、データベースに格納されます
  3. その後、トークンは LSO に保存されます
  4. ユーザーがサイトを離れ (コンピューターをシャットダウンする可能性があります)、後で戻ってきます
  5. トークンが読み取られ、データベースに配置され、ユーザーが認識されます(トークンは、データベースに保存されている他のユーザーデータにリンクする外部キーであるとしましょう)

私はこれをかなり長い間調査しましたが、フラッシュがLSOを使用してフラッシュムービーの読み取りデータを保存できることがわかりました...これは、サーバーがデータにアクセスできないことを意味しますか?

ありがとうございました!

4

4 に答える 4

1

はい、可能ですが、2 つの異なる操作として見る必要があります。一方では、SharedObject を保存して読み取り、他方ではサーバーと通信してデータベースにクエリを実行します。

ZendAmf サーバーを使用して PHP と通信できます。データベース クエリを作成するために、SharedObject データを PHP に送信できます。データベースが結果を返すと、ZendAmf は Flash に応答を送信します。

Lee Brimelow によるZend Amf のビデオ紹介をご覧ください

于 2010-12-12T13:54:48.807 に答える
0

質問にasp.netのタグを付けたので、Cookieの保存/取得/検証は問題にならないと思います。

それ以外にも、asp.net で Cookie を操作するためのヘルプが必要な場合は、ネットにはこれらのハウツーがたくさんあります。ストロークを保存するもの: http://msdn.microsoft.com/en-us/library/ms178194.aspx

したがって、パスワードやユーザーの詳細などのデータが「token」が参照するものではない場合、トークンを一種のクエリ文字列として渡すだけで済みます。これは、flashvars を使用して実行できます。

良いちょっとしたチュートアップについては、リンクにアクセスしてください。

http://www.permadi.com/tutorial/flashVars/index.html


編集

私は、asp がそれをエレガントに行うことを指摘しただけです。

LSO から読み取ったtokenを使用して、ユーザーを記憶します。

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/

ただし、ユーザーの知識なしに物を保管することはお勧めできません。そのため、ユーザーがウェブサイトに記憶されることをユーザーに知らせるために苦労してください. 私を覚えているチェックボックスのようなもの?

于 2010-12-12T14:19:59.513 に答える
0

私は PatrickS に部分的に同意します。必要な機能は、一連の別個のプロセスと考える必要があります。しかし、そのセットのサイズは 2 ではなく 3 だと思います。

  1. データベースにデータを挿入および取得できるプロセス
  2. クライアントとサーバー間でデータを送信できるプロセス
  3. LSO でデータを挿入および取得できるプロセス

いいえ、LSO データを作成したり、サーバーからアクセスしたりすることはできません。ただし、サーバーに代わって作成またはアクセス (および返送)することはできます。ExternalInterfaceこれは、次のように を使用して行うのが最適です。

  1. LSO データを処理する Actionscript コードをメソッドにカプセル化します。
  2. で定義されている予想される Flash アプリケーションの外部インターフェイスにメソッドを登録しますExternalInterface.addCallback()
  3. Flash アプリケーションをコンパイルし、生成された .swf ファイルを参照する要素を HTML に作成します。
  4. HTML 要素の表現を作成しDOMElement、#1 のメソッドを呼び出します。これは、DOMElement.

このすべてを行うという面倒を経験したくない場合は、BakedGoodsをチェックしてください。これは、Flash ローカル共有オブジェクトを含む、すべてのネイティブおよび一部の非ネイティブ ストレージ機能で共通のストレージ操作を実行するために使用できる統一されたインターフェイスを確立する Javascript ライブラリです。

これにより、次のような単純なコードで LSO を作成できます。

bakedGoods.set({
    data: [{key: "key", value: "value"}],
    storageTypes: ["flash"],
    complete: function(byStorageTypeRemovedItemKeysObj, byStorageTypeErrorObj){/*code*/}
});

データの取得と削除も同様に簡単です。このすべてについて私を信頼してください、私は知っているでしょう。私はそのメンテナーです:)

于 2016-07-05T02:01:20.023 に答える
0

ローカル共有オブジェクトは、Cookie というよりもローカル ストレージに似ています。「Flash Cookie」という用語は、エンド ユーザーの観点からは適切ですが、技術的には、LSO は Cookie とは異なり、HTTP 要求で自動的に送信されることはありません。代わりに、クライアントのコードは LSO から値を読み取り、明示的にサーバーに送信する必要があります。

于 2010-12-12T15:49:59.753 に答える