1

GWTアプリケーションを作成していて、管理コンソールを追加したいと思っています。

私の最初の試みは、管理ウィンドウ(ウィジェット)を作成し、管理者がログインしたときにそれを表示することでした。

このアプローチの問題は、私のページにアクセスするすべてのユーザーが、管理コンソールの表示と操作を担当するJavaScriptをダウンロードすることです。パフォーマンスとセキュリティの両方の理由から、このアイデアは好きではありません。

管理コンソールはアプリケーション内の単なる「ウィンドウ」であるため、ユーザーが管理者としてログインしている場合にのみダウンロードし、ログアウト時に「パージ」したいと思います。

GWTを使用してそれを達成するために利用できるオプションは何ですか?

4

3 に答える 3

1

Ajaxのソリューションのフォローアップ、いくつかの詳細とオプション:

  • Adminモジュールは、admin.warなど、別の戦争でデプロイされた別のJavaプロジェクトです。
  • 管理Javaプロジェクトはメインプロジェクトから継承するため、すべての共通機能と管理機能があります。
  • 管理モジュールjavascriptには、admin.war Webアプリケーション、たとえばindex.htmlからのみアクセスできます。
  • admin.war Webアプリケーションには、SSLトンネルの背後にあるローカルホストを介してのみアクセスできます。このようにして、秘密鍵を使用してサーバーにアクセスできる管理者ユーザーのみが、トンネルを正常に開いた後、管理モジュールにアクセスできます。他のユーザーはアクセスできません。このオプションは非常に安全です。アクセスできるユーザーを制御し、その上、すべての通信が暗号化されます。ただし、このオプションは、サーバーが許可する公開鍵を介して厳密に制御できる管理者ユーザーがほとんどいない場合にのみ適用できます。それ以外の場合は、パスワードとコード分割による前述の認証メカニズムに頼らなければならないと思います。
于 2013-01-06T18:24:24.303 に答える
-1

管理コンソール用の独自のアクティビティを使用して、別のビューを作成します。これには、アクティビティと場所のデザインパターンを使用できます。

また、コード分割を使用して、管理者のみが管理コンソールに必要なコードをロードするようにすることができます。

編集:

エントリポイントクラスでは、ユーザーが認証され、管理者であるかどうかを確認し、アプリのこの部分へのアクセスを許可するかどうかを確認する必要があります。サーバー側でも同じことを行う必要があります。ユーザーがログオフしたら、アプリを閉じます。

于 2013-01-04T13:26:46.823 に答える
-1

コード分​​割は、管理者のものをクライアント向けのJSから移動するための迅速で汚いソリューションです。ただし、gwtに精通している人なら誰でも、ダウンロードされなかったコード分割にアクセスする方法を知っています。

本当に安全なオプションは、2番目のエントリポイントを実行し、管理者専用にコンパイルすることです。そうすることで、サーバーは管理機能に影響を与えるものを提供することを回避できます。

また、すべての管理機能をメインコンパイルで許可されていないパッケージに入れることも賢明です。そうすれば、セキュリティで保護されていないリソースが漏洩することはありません。

于 2013-01-04T13:30:14.160 に答える