Разрешение фиксации сессии в JBoss

Oracle рекомендует добавить аннотацию @Path ко всем типам, которые будут вставляться при объединении JAX-RS с CDI: http://docs.oracle.com/javaee/7/tutorial/jaxrs-advanced004.htm Хотя это далеко не идеально (например, вы получите предупреждение от Джерси при запуске), я решил воспользоваться этим путем, что избавит меня от поддержки всех поддерживаемых типов в связующем.

Пример:

@Singleton
@Path("singleton-configuration-service")
public class ConfigurationService {
  .. 
}

@Path("my-path")
class MyProvider {
  @Inject ConfigurationService _configuration;

  @GET
  public Object get() {..}
}

9
задан Warren Blanchet 11 August 2008 в 22:53
поделиться

2 ответа

Этот дефект (найденный здесь) указывает путь к решению. Экземпляр Tomcat, который работает в JBoss, настроен с emptySessionPath = "верный", а не "ложный", который является значением по умолчанию. Это может быть изменено в .../deploy/jboss-web.deployer/server.xml; и HTTP и коннекторы AJP имеют эту опцию.

Сама функция используется для устранения пути контекста (например, "нечто" в http://example.com/foo) от того, чтобы быть включенным в cookie JSESSIONID. Установка его ко лжи повредит приложения, которые полагаются на аутентификацию перекрестного приложения, которая включает созданное использование материала некоторых инфраструктур портала. Это негативно не влияло на рассматриваемое приложение, как бы то ни было.

8
ответ дан 4 December 2019 в 22:31
поделиться

Эта проблема и конкретный случай, в котором она возникает, являются проблемой как в Tomcat, так и в JBoss. Tomcat разделяет эффект emptySessionPath = "true" (и фактически JBoss наследует его от Tomcat).

Это действительно похоже на ошибку в Tomcat и JBoss, когда вы пытаетесь предотвратить атаки фиксации сеанса, но спецификация сервлета (по крайней мере, версия 2.3) на самом деле не требует определения или переопределения JSESSIONID в соответствии с какой-либо конкретной логикой. Возможно, это было исправлено в более поздних версиях.

0
ответ дан 4 December 2019 в 22:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: