PrettyFaces не работает в Wildfly 8.1.0, но работает в 8.0.0

PrettyFaces убивает сеанс при каждом запросе, который включает перенаправление при развертывании приложения в Wildfly 8.1.0.Final. Это же приложение развертывается и работает должным образом на Wildfly 8.0.0.Final.

На 8.1.0 PrettyFaces, кажется, препятствует тому, чтобы стек сервлета получил идентификатор сеанса.

Журнал не показывает исключений в любом случае. URL перезаписывается, но информация о сеансе (включая информацию для входа в систему) исчезла. Это мой pretty-config.xml

<pretty-config xmlns="http://ocpsoft.org/schema/rewrite-config-prettyfaces"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://ocpsoft.org/schema/rewrite-config-prettyfaces
                  http://ocpsoft.org/xml/ns/prettyfaces/rewrite-config-prettyfaces.xsd">

<url-mapping id="user-settings">
    <pattern value="/protected/user/settings/"/>
    <view-id value="/protected/usersettings.xhtml"/>
</url-mapping>

<url-mapping id="thread-edit">
    <pattern value="/protected/threads/edit/#{stitchId}/" />
    <view-id value="/protected/threads/stitch.xhtml" />
    <action>#{stitchEditBean.editStitchFromId(stitchId)}</action>
</url-mapping>

<url-mapping id="threads-index">
    <pattern value="/protected/threads/" />
    <view-id value="/protected/threads/index.xhtml" />
</url-mapping>
</pretty-config>

Ошибка возникает как для PrettyFaces 2.0.12.Final, так и для 3.0.0.Alpha2

2 ответа

Решение

Как отметил Кен, основная проблема связана с https://issues.jboss.org/browse/WFLY-3448

Добавление явного пути к файлам cookie в web.xml обходит проблему и безопасно.

<session-config>
    <session-timeout>30</session-timeout>
    <cookie-config>
        <!--
        A bug in wildfly 8.1.0.final requires this path to be set explicitly or occasionally the default is
        incorrect and the system will generate one cookie per directory incorrectly.
        -->
        <path>/</path>
    </cookie-config>
</session-config>

Возможно, вам придется вручную удалить поврежденные куки в КАЖДОМ каталоге вашего приложения или сбросить все ваши сеансовые куки. В противном случае старые файлы cookie сеанса могут зависать, вызывая проблему.

Это ошибка в WildFly 8.1.0, исправленная здесь: https://issues.jboss.org/browse/WFLY-3448

После того, как вы используете версию, в которой исправлена ​​эта ошибка, вам потребуется использовать Rewrite 3.0.0.Alpha3 или новее, чтобы решить дополнительные проблемы при обработке пути к корневому контексту.

Другие вопросы по тегам