MDBのonMessageメソッドで、リクエストを開始したJAASユーザープリンシパルの名前を取得するにはどうすればよいですか?私のアプリケーションはサーブレットログインとjdbcRealmを使用しています。
これをメッセージプロパティとして追加することを検討しましたが、JAASによって処理されるようにしたいと思います。
MDBのonMessageメソッドで、リクエストを開始したJAASユーザープリンシパルの名前を取得するにはどうすればよいですか?私のアプリケーションはサーブレットログインとjdbcRealmを使用しています。
これをメッセージプロパティとして追加することを検討しましたが、JAASによって処理されるようにしたいと思います。
それは本質的に処理されます、あなたがしなければならないすべては注入して使用すること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>");
}