1

データを表示する Web アプリケーションを構築する必要があります。ユーザーには、登録ユーザーと匿名ユーザーの 2 種類があります。登録ユーザーは会社のイントラネットからアプリを実行し、匿名ユーザーはインターネットからアプリを実行します。登録ユーザーには、匿名ユーザーよりも多くのデータが表示されます。

(誰がデータを見ているかを知るために) ユーザーを登録するためのログイン フォームが必要ですが、匿名ユーザーがアプリケーションを使用する場合は、ログイン フォームが表示されないようにする必要があります。

同じ Web アプリケーションでは、最初の画面はログイン フォームである必要がありますが、場合によってはログイン フォームが表示されてはなりません。それを行う最善の方法は何ですか?

Vaadin (GWT ベースの Java フレームワーク) を使用してアプリを開発しています。そのための良い方法はブラウザの URL を確認することだと思いますが、それが最善の方法かどうかはわかりません。

4

2 に答える 2

2

マコムホールの言うとおりだ。次のように呼び出して、ユーザーの IP を取得できます。

WebBrowser b = (WebBrowser) getMainWindow().getTerminal().
String ip = b.getAddress();

または(アプリケーションクラスで):

WebBrowser b = ((WebApplicationContext) getContext()).getBrowser();
String ip = b.getAddress();

次に、Jakara Commons Net を使用して、IP アドレスが会社のサブネット (たとえば、192.168.0.0/24) にあるかどうかを確認できます。

SubnetInfo subnet = (new SubnetUtils("192.168.0.0", "255.255.255.0")).getInfo();
boolean test = subnet.isInRange(ip);

これは、サードパーティのライブラリを使用する必要のない別のクールなソリューションです。

ソース 1

ソース 2

于 2012-06-07T11:58:46.427 に答える
0

エクストラネットとイントラネットを区別している場合は、接続元を IP で確認する必要があります。Java はこれを行う方法を提供していますが、これが Vaadin で可能かどうかはわかりません。

于 2012-06-06T12:04:30.277 に答える