0

J2EEサーバー上にさまざまなセキュリティロールを持つさまざまなEJBがあります。

ここで、Java Swingクライアントアプリケーションから、ユーザーをサーバーにログオンするときに、実際に作成したり呼び出したりせずに、ユーザーがアクセスできるEJBを見つけたいと思います。

これを実行する理由は、使用可能なEJBに応じてユーザーインターフェイスを調整するためです。

たとえば、「AdministerMetadata」EJBが現在のユーザーによって使用可能である場合、メタデータなどを管理するためのメニューオプションを表示したいと思います。

クライアント内の既知のEJBの事前定義されたリストからクエリを実行することは許容されるため、そのように完全に動的である必要はありません。

このアクセス情報を返すためだけに特別なEJBを作成したくはありません。また、検出を行うためにメソッドを呼び出して例外をキャッチしようとする必要を避けたいと思います。

JBossでソリューションを使用することを計画していますが、可能であれば標準ソリューションを使用したいと思います。

これは可能ですか?もしそうなら、どのように?

4

1 に答える 1

1

私の知る限り、J2EE にはクライアント側でこの情報を提供するものは何もありません。サーバー側でも、EJBContextは呼び出し元が所有するロールだけでなく、呼び出し元のプリンシパル (ログイン名など) も提供します。

クライアント側でクエリを実行し、サーバー側で EJBContext を検査して、現在のユーザーが所有しているロールをクライアントに通知する追加のセッション Bean を用意する以外に方法はありません。

于 2009-04-02T23:24:08.290 に答える