PrettyFaces在Wildfly 8.1.0中失败,但在8.0.0中运行

时间:2014-08-05 05:22:15

标签: jsessionid prettyfaces wildfly-8

当在Wildfly 8.1.0.Final上部署应用程序时,PrettyFaces会在涉及重定向的每个请求上终止会话。相同的应用程序在Wildfly 8.0.0.Final上部署并正常运行。

在8.1.0上,PrettyFaces似乎阻止servlet堆栈重新获取会话ID。

在任何一种情况下,日志都没有显示异常。 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 个答案:

答案 0 :(得分:2)

正如Ken所说,潜在的问题与https://issues.jboss.org/browse/WFLY-3448

有关

向web.xml添加显式cookie路径可解决此问题并且是安全的。

<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>

您可能必须手动清除应用的EACH目录中的错误Cookie,或刷新所有会话Cookie。否则旧的会话cookie可能会导致问题。

答案 1 :(得分:0)

这是WildFly 8.1.0中的一个错误,在此解决:https://issues.jboss.org/browse/WFLY-3448

在使用修复了该错误的版本后,您需要使用Rewrite 3.0.0.Alpha3或更新版来解决处理根上下文路径的其他问题。