0

アプリケーション A を、Oracle Enterprise Linux オペレーティング システムで実行されている Weblogic 10.3.6 アプリケーション サーバーに移行しようとしています。アプリケーション B はすでにその weblogic サーバーに存在しています。アプリケーション A には、ユーザー ログイン機能を備えた GUI があります。ただし、アプリケーション B はそうではありません。現在、アプリケーション A と B は MQ を介してインターフェースしています。私の質問は次のとおりです。 1. アプリケーション A と B の両方の耳を同じサーバーに置くことは実現可能な設計ですか? 2. はいの場合、どのように社内でコミュニケーションを取ることができますか? 3. アプリケーション A のユーザー ログイン機能により、アプリケーション B にセキュリティ侵害のリスクはありますか?

4

1 に答える 1

0

1) はい、サーバー上で 1 つ以上の Ear ファイルを実行することは完全に合理的です。パフォーマンスの問題が発生する可能性があり、JVM/ヒープ メモリを注意深く監視する必要がある場合があります (OutOfMemoryError を引き起こす 1 つのアプリが両方をダウンさせます)。

2) コミュニケーション方法によって異なります。最も簡単な方法は、おそらくリモート ルックアップを使用することです。WebLogic は、JNDI ツリーでアプリケーション コンテキストなどのすべてのルックアップを提供します。メソッドがリモート呼び出しを許可するように公開されている限り (JEE の @Stateless @Remote アノテーションなど)、メソッドをリモートで呼び出すことができます。高速通信が必要ない場合は、MDB (メッセージ駆動型 Bean) や Web サービス (別のコンテキスト ルートを持つ同じローカル サーバーにバインドするだけ) などの他の方法を使用することもできます。

3) ログイン方法によって異なります。weblogic 状態を使用して誰かがログインしているかどうかを確認する場合、1 つのアプリケーションにログインすると、別のアプリケーションにもログインします。WebLogic のロールとポリシーを確認する必要があります。基本的に、特定のユーザーを 1 つのアプリケーションに対して 1 つのロールに設定し、場合によっては 2 つの異なる認証メカニズムを設定します。次に @RolesAllowed (またはその他の好きな方法) を使用して、クラス/メソッドへのアクセスを特定のロールのみにブロックします。

独自のログイン方法を使用すると、ユーザー側から問題が見えません。どのコードが使用されるかに注意し、知らないうちにリモート ルックアップを許可しないようにしてください (つまり、悪意のあるコードが他のアプリケーションに対してリモート ルックアップを実行できる、インジェクション攻撃の対象となる可能性のあるメソッドに注意してください)。必要に応じて、WebLogic ロールとポリシーを使用してこれをブロックすることもできます。

于 2013-10-28T09:37:14.130 に答える