0

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

在 8.1.0 PrettyFaces 似乎阻止 servlet 堆栈检索会话 ID。

在这两种情况下,日志均未显示异常。发生 URL 重写,但会话信息(包括登录信息)消失了。这是我的漂亮配置.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 均发生故障

4

2 回答 2

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>

您可能必须手动清除应用程序每个目录中的坏 cookie,或刷新所有会话 cookie。否则旧的会话 cookie 可能会导致问题。

于 2014-08-27T15:31:31.643 回答
0

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

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

于 2014-08-26T15:23:54.903 回答