JBoss AS: нет допустимого контекста безопасности для идентификации вызывающего абонента - PullRequest
1 голос
/ 18 августа 2011

Мне нужно получить имя пользователя вызывающей стороны в 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 его запустить и запустить?

1 Ответ

1 голос
/ 22 августа 2011

Ответ на мой вопрос приведен в

Поскольку в настоящее время мне не нужна аутентификация / авторизация, я просто добавил следующие строки в конец файла conf / login-conf.xml:

  <application-policy name="simple">
    <authentication>
      <login-module code="org.jboss.security.auth.spi.SimpleServerLoginModule" flag="required" />
    </authentication>
  </application-policy>

Остерегайтесь угроз безопасности !!! В моем решении нет защиты, использующей SimpleServerLoginModule!

...