次のコードを使用して、tibco emsへの接続を確立しています。TibjmsAdminを使用しないJava Tibco EMSのキューリスト
TibjmsQueueConnectionFactory factory = new TibjmsQueueConnectionFactory(server.url, null, environment);
QueueConnection connection = factory.createQueueConnection(server.user, server.password);
QueueSession session = connection.createQueueSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
TibjmsAdmin = new TibjmsAdmin(server.url, server.user, server.password, environment);
QueueInfo[] queueInfo = admin.getQueues();
getQueues
要求は、ユーザーにコマンドを実行する権限がないという例外をスローします。自分の管理者(これは別の会社に属しています)へのリクエストを進める前に、私は許可を完全に否定することを避けることができるようにいくつかのことを明確にしたいと思います。
1)サーバーに接続できるユーザーは、TibjmsAdminインターフェイスを使用せずにキューを一覧表示できます。私はJNDIルックアップについて読んだが、EMSの完全な例は見つけられなかった。このJNDIは、接続許可のみを使用してこれを達成できますか?
2)EMS管理者は、admin.getQueues()
が取り出すことができるユーザーに対して、キューのサブセットのみの一覧表示を許可できますか?私はパターンベースの許可について読んだ。誰かがEMS管理者がそれを実行するために使用するコマンドgrant
の例を挙げることができますか?
3)ems adminは、ユーザにshow queues
権限を与えるためにどのようなコマンドを使用しますか。私はemsサーバーの試用版をインストールしました。私はall
管理者特権を別のユーザーに与えることができますが、show queues
を実行するために必要な最小限の許可は与えていません。私は考えることのできるすべての可能な組み合わせを試しましたが、無駄です。
ありがとうございました。