0

Java EE JAAS コンテキスト (割り当てられたユーザー ロール) を EJB インターセプターから変更することは可能ですか?

メソッド 'isUserInRole()' を使用して認証をテストする EJB セッション Bean がいくつかあります。一方、私のアプリケーションは、実行時に作成されるため、アプリケーション Java EE レルムを介して管理される JAAS ロール/グループにマップできない特別な情報を持つユーザー プロファイルを管理しています。

私の考えは、EJBインターセプターのようなものを実装し、アプリケーションからユーザープロファイルに保存されている情報を確認し、ユーザーの資格情報/サブジェクトにいくつかの新しいカスタムロールを追加することです.

その結果、セッション Bean が要求できる資格情報に割り当てられた新しい動的ロール定義になります。ただし、これらの役割は、ejb (@RolesAllowd) または ejb-jar.xml または sun-ejb-jar.xml 記述子でハードコーディングされません。

この質問で助けてくれてありがとう。

4

1 に答える 1

0

すでに確立されているセキュリティ コンテキストを変更するのは困難ですが、最初にセキュリティ コンテキストを設定しても問題が解決しない場合は、カスタム ログイン モジュールを検討する必要があります。

Java EE では、JASPIJAAS 上に構築された API を介してこれを行うことができます。

ほぼすべてのアプリケーション サーバーには、これを行うための独自の API もあり、そのほとんどは JAAS 上に構築されています。

于 2012-08-21T17:31:00.993 に答える