0

MDBのonMessageメソッドで、リクエストを開始したJAASユーザープリンシパルの名前を取得するにはどうすればよいですか?私のアプリケーションはサーブレットログインとjdbcRealmを使用しています。

これをメッセージプロパティとして追加することを検討しましたが、JAASによって処理されるようにしたいと思います。

4

1 に答える 1

1

それは本質的に処理されます、あなたがしなければならないすべては注入して使用することMessageDrivenContextです:

..
@Resource
private MessageDrivenContext mdc;

public void onMessage(Message message) {
    Principal principal = mdc.getCallerPrincipal();
    System.out.println(principal.getName());
    //ALTERNATIVELY, YOU CAN USE A METHOD mdc.isCallerInRole("<role name>");
}
于 2012-11-23T08:01:14.290 に答える