3

jboss の耳にカスタム ログイン モジュールがあります。ear の META-INF には、カスタム ログイン モジュールを定義する login-config.xml を指す mbean を含む login-service.xml を指す jboss-app.xml があります。

ear の META-INF 内の jboss.xml は、login-config.xml 内のログイン モジュール用に定義されたものと同じセキュリティ ドメインを使用します。

その ear 内で EJB を呼び出すと、カスタム ログイン モジュールがログイン メソッドとコミット メソッドを実行していることがわかりません。

org.jboss.security のトレース log4j セットアップがありますが、EJB 呼び出しを行っても何も表示されません。認証されていなくても、EJB 呼び出しは成功します。

ログインモジュールが呼び出されない理由や、JAAS 決定プロセスをデバッグする方法がわかりません。何か案は?ありがとう。

4

2 に答える 2

3

これまでに行ったことは、ログイン モジュールの作成です。次に、EJB にそれを使用するように指示する必要があります。

import javax.annotation.security.RolesAllowed;
import javax.ejb.Stateless;

import org.jboss.ejb3.annotation.SecurityDomain;


@Stateless
@SecurityDomain("mySecurityDomain")
@RolesAllowed({"guestRole", "userRole", "adminRole"})
public class SecureBean implements Secure {
于 2010-06-09T15:11:51.327 に答える
2

助けを借りて、問題を見つけました。

私の jboss.xml は ear の META-INF フォルダーにありましたが、EJB jar の META-INF フォルダーにあるはずでした。

どうやら、耳の META-INF フォルダーにある jboss ファイルは jboss-app.xml だったようで、次回のために覚えておく手がかりになると思います。

于 2010-06-11T08:44:02.747 に答える