2012-10-28 3 views
0

Java 응용 프로그램에서 EJB3 내에서 로그인 한 사용자 정보를 얻어야합니다.EJB 내부에서 로그인 한 사용자에게 액세스 하시겠습니까?

하지만 sessionContext.getCallerPrincipal(). getName()은 anonymous 값을 반환합니다.

JAAS (weblogic.security.auth.login.UsernamePasswordLoginModule)를 사용해 보았지만 Subject, Principal 값은 처음에는 사용할 수 있지만 비즈니스 레이어로 전송되지는 않습니다. 대신 값을 익명으로 사용하십시오.

내 환경은 Java/JSF/EJB3/Weblogic 11g입니다.

아이디어가 있으십니까?

답변

0

여러 번이 문제가있었습니다. 사용자를 ThreadLocal에 배치하고 비즈니스 계층에 액세스합니다. 메서드 매개 변수로 사용자를 전달하거나 전달합니다.

관련 문제