Мне нужно получить имя пользователя вызывающей стороны в SLSB с помощью JBoss AS 6. Поэтому я передал его в InitialContext следующим образом:
Context ctx = new InitialContext();
String userName = System.getProperty("user.name");
ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, userName);
В моем SLSB я пытаюсь получить к нему доступ с помощью:
@Resource
EJBContext ctx;
// ...
String userName = ctx.getCallerPrincipal().getName();
Однако я получаю следующую ошибку от JBoss:
java.lang.IllegalStateException: No valid security context for the caller identity
at org.jboss.ejb3.EJBContextImpl.getCallerPrincipal(EJBContextImpl.java:143)
Может кто-нибудь дать мне подсказку, что в юниверсе JAAS мне нужно настроить, в каком файле JBoss AS его запустить и запустить?