Youhei Kawada
kawad****@nttda*****
2007年 3月 1日 (木) 12:22:05 JST
川田です。 現状の画面遷移機構ですと、遷移定義XMLという形で遷移先情報が 全てクライアント側に送信され、クライアント側で全て見ることが できます。セキュリティ的にいかがでしょうか? セキュリティを向上させるには以下のような案が考えられます。 ・遷移定義XMLで遷移先としてファイル名を指定するのではなく 論理名を指定し、サーバ側で論理名と実ファイル名のマッピング を行う ・そもそも遷移定義XMLをクライアント側に転送せず、全て サーバ側で遷移に関する処理を行う ただ上記の場合、デメリットとしてサーバ側での遷移処理プログラム が別途必要となります。(現状の画面遷移機構ですと必要ありません) 何かご意見など頂ければ幸いです。 -- Youhei Kawada takan****@nttda***** wrote: > 高野です。 > > 画面遷移機構をお送りします。 > > transition.xmlをご覧いただくのが > 一番分かりやすいかもしれません。 > > ************************************************************ > 利用方法 > > 同ディレクトリにあるMaskatOSをwebapps配下に配置 > 以下のURLにアクセス > > http://localhost:8080/MaskatOS/contents/MaskatOS/index.html > > ログイン画面でユーザ名maskatを入力 > maskat以外だとデスクトップ画面に遷移せず > > ************************************************************ > 処理の流れ > > 【Webブラウザアクセス 〜 初期画面表示】 > > WebブラウザでURLアクセス > HTML返す > HTMLパース > マスカットライブラリの要求 > マスカットライブラリ返す > 遷移定義XMLの要求 > 遷移定義XML返す > 遷移定義XMLパース(*1)、init内のレイアウト定義XML/イベント定義XMLを要求 > レイアウト定義XML/イベント定義XML返す > レイアウト定義XML/イベント定義XMLのパース > 初期画面表示 > > (*1) transition[イベント発生コンポ名(例:myButton)][イベント名(例:onclick)] > に遷移の関数を埋め込む > > > 【ユーザによるイベント発生 〜 イベント処理完了】 > > イベント発生 > パース済みのイベント定義XMLの内容を実行 > サーバサイド処理(もしあれば) > (一連のイベント定義XMLの内容の処理終了) > transition[][]が定義されていればそれを実行 > 遷移処理 > レイアウト定義XML/イベント定義XML返す(もし遷移があれば) > 遷移処理 > > ************************************************************ > > transition.xmlの文法 > (サンプルではMaskatOS\contents\MaskatOS\transition.xml) > > <init>内に初期ロード時の処理 > <transition>内に遷移時の処理 > component属性とevent属性でイベント発生元のコンポーネントとイベント名を指定 > > 利用できる処理は以下の通り > loadLayout > removeLayout > showLayout > hideLayout > 各属性は低レベルAPIの引数と同じ > 処理は複数記述することが可能。逐次実行される > > 分岐 > 処理結果によって遷移先を変えることが可能 > ・<transition>の属性としてbranchがあり、そこで論理名を指定する。 > ・イベント発生後に遷移先を変えたいイベント発生元のGUIコンポーネントに対し > て > そのGUIオブジェクトのbranch属性に論理名を設定する > (サンプルのMaskatOS\contents\MaskatOS\desktop.jsの58行目-65行目参照。 > ここではログイン画面でOKを押した際の遷移先を分岐している) > > ************************************************************ > オリジナルのマスカット1.4.0からの変更箇所 > maskat.jsのみ > > ************************************************************ > 1レイアウトファイル1レイアウト定義とする。 > > 以上 > > > ------------------------------------------------------------------------ > > _______________________________________________ > Maskat-develop mailing list > Maska****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/maskat-develop