当在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
都发生了故障答案 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或更新版来解决处理根上下文路径的其他问题。