2009-06-25 6 views
0

ブラウザで実行されているFlexアプリケーションで一意のマシン固有のシステムIDを取得する方法はありますか?たとえば、マシンの実行に適切なライセンスがあるかどうかを判断する応用?Flexで一意のシステムIDを取得する

+0

マシン固有の識別が必要な理由の目的を明確にします。ハードウェア情報へのアクセスを一切行わなくても、これをどう実現できるかは、誰かが知っているかもしれません。 私はFlex用のライブラリを開発しました。試用版をダウンロードしたいと思っています。ユーザーは、swcが含まれているために14日間と言うようにアプリケーションをコンパイルできます。 14日後、彼らは登録するウェブサイトに行き、ダウンロードされたマシン上でのみ実行されるように特別にコンパイルされたフルバージョンのswcをダウンロードします。これが一意のIDが入る場所です。 – Fergal

答えて

3

ユーザーのマシンやOSに基づいてこれを行う方法は考えられません。ブラウザアプリケーションの要点は、いつでもどこでもブラウザで実行できるようにすることです。私の知る限りでは、Flashは、マシン上のネットワークカードのMACアドレスではなく、ライセンス目的でユニークなマシンIDに変換できる情報はありません。

個人的には、ユーザーがログインするためのユーザー名/パスワードを要求し、Cookieに保存されているセッションキーを使用してその手順をスキップできるようにする方がよいと思います(たとえば、 GMailのようなこのコンピュータのタイプの機能)。これは、ユーザーが好きなPCからアプリケーションを実行できるという利点があります。

+0

はい、私は同じ結論に至りました。最も良いことは、誰かが自分自身を認証し、その認証をFlash Cookieとして保存できるようにすることです。ありがとう。 – Fergal

+1

ビデオおよびオーディオコンテンツに使用することを目的としていますが、Flash Access 2.0 DRMには、クライアント/マシンを一意に識別するためのAPIが含まれています。この情報は、ActionScriptではなく、ライセンスサーバー(java SDK)でのみ使用可能で、Flash AccessコードがクライアントのFlashランタイムによって最初に読み込まれるときに発生する個別化プロセスが必要です。 参照:http://help.adobe.com/jp/en/US/flashaccess/2。0/javadocs/com/adobe/flashaccess/sdk/cert/MachineToken.html – jaaronfarr

0

MACアドレスやフレックスアプリからの他のIDのようなマシン固有の情報に実際にアクセスすることはできません。おそらく、ASP.NETやJSPのような他の技術を使うべきでしょう。

2

フレックス

import mx.utils.UIDUtil; 

var myUUID:string = UIDUtil.createUID(); 

内部のUUIDを作成します。私はあなたが本当に賢い取得したい場合は、ローカルに知られている塩で、この文字列を暗号化し、共有することはできませんいくつかの暗号化ライセンスキーを生成する可能性があるとします。あなたはライセンスの有効期限を強制するために塩分や鍵を定期的に変更することができます。

何らかの形でバックエンドのキーデータを管理する必要があります。

+0

それは私が見つけるのにしばらく時間がかかりましたが、新しいAirバージョンではこの関数は別のクラスに属しています:RPCUIDUtil.createUID。パッケージ:mx.utils。フレックスプロジェクトで /frameworks/libs/air/aircore.swcを参照する必要がありました。 – santiagoIT

2

ILog Elixirはこれを行いますが、従来のインストールプロセスで行います。 swcファイルにウォーターマークが付きますが、有効なシリアル番号を入力すると、マークが付きません。swcファイルのロックが解除され、ソースコードが利用可能になります。

私は彼らが実際にどのようにこのことをやっているかについて詳しくは言及していませんが、それは直接フレックスではありません。おそらく、従来のソフトウェアのインストールプロセスを調べて、暗号化されたデータのロックを解除すると、探している答えが得られるでしょう。