jboss를 7.1.1.Final로 사용 중이며 LdapExtLoginModule을 사용하여 보안 도메인을 구성했습니다. 지금까지 로그인이 작동합니다.Jboss7을 사용하여 SLSB의 호출자 역할에 액세스하십시오.
이제 SLSB에서 모듈에 의해로드 된 역할에 액세스하려고합니다. 사용자 이름에 액세스하는 방법을 알고 있습니다. 내 예제에서는 ejb 3.1을 사용하고 사용자 이름을 System.out에 인쇄합니다.
역할에 액세스하는 방법을 모르며 문서에서 아무 것도 찾지 못했습니다. EJBContext는 컨텍스트 자체가 역할을 알고 있지만 일련의 역할을 반환하는 메서드를 찾을 수 없음을 증명하는 isCallerInRole (String) 메서드를 제공합니다.
나는 LdapExtLoginModule을 확장하고 역할을 포함하는 사용자 정의 principal을 설정하는 사용자 정의 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
}
}