jboss を 7.1.1.Final として使用しており、LdapExtLoginModule を使用してセキュリティ ドメインを構成しました。ログインは今のところ機能しています。
SLSB のモジュールによってロードされたロールにアクセスしたいと考えています。ユーザー名にアクセスする方法を知っています。私の例では ejb 3.1 を使用し、ユーザー名を System.out に出力します。
ロールにアクセスする方法がわからず、ドキュメントに何も見つかりませんでした。EJBContext は、コンテキスト自体がロールを認識していることを証明するメソッド isCallerInRole(String) を提供しますが、一連のロールを返すメソッドが見つかりません。
LdapExtLoginModule を拡張し、ロールを含むカスタム プリンシパルを設定するカスタム LoginModule を記述できることはわかっています。しかし、既存の機能を使用するより簡単なアプローチがあるかもしれません。誰もそのようなアプローチを知っていますか?
SLSB コード:
@Stateless
@Remote(IAService.class)
public class AService implements IAService
{
@Resource
private EJBContext context;
@Override
public void printUserData() {
System.out.println("Name: " + context.getCallerPrincipal().getName());
// TODO print roles
}
}