JSF MAC 没有验证!集群环境出错

问题描述

我有一个 JSF (Mojarra 2.2.20),它部署在集群环境中的 Tomcat 8.5 上。

我的 catalina.out 充满了这个错误

ERROR: MAC did not verify!

我一直在阅读以下帖子:Getting ViewExpiredException in clustered environment while state saving method is set to client and user session is valid 并按照指示的步骤操作。

编辑:考虑到 BalusC 注释,我修改了我的配置,现在看起来像这样。 但是我在生产环境中不断收到错误消息。

这是我的配置:

public void onStartup(ServletContext servletContext) throws servletexception {
    servletContext.setinitParameter("javax.faces.STATE_SAVING_METHOD","client");
    servletContext.setinitParameter("javax.faces.DEFAULT_SUFFIX",".xhtml");
    servletContext.setinitParameter("javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYstem_TIMEZONE","true");
    servletContext.setinitParameter("org.omnifaces.FACES_VIEWS_SCAN_PATHS","/*.xhtml");
    servletContext.setinitParameter("primefaces.CLIENT_SIDE_VALIDATION","true");
    servletContext.setinitParameter("primefaces.THEME","flick");
    servletContext.setinitParameter("primefaces.UPLOADER","native");
}

这是我的web.xml

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">

<display-name>app-name</display-name>

<distributable />

<env-entry>
    <env-entry-name>jsf/ClientSideSecretKey</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>[KEY generated with the code in the post linked]</env-entry-value>
</env-entry>

<error-page>
    <error-code>500</error-code>
    <location>/pages/error/error.xhtml</location>
</error-page>
<error-page>
    <error-code>404</error-code>
    <location>/pages/error/notFound.xhtml</location>
</error-page>
<error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/pages/error/timeout.xhtml</location>
</error-page>

<session-config>
    <session-timeout>15</session-timeout>
</session-config>

</web-app>

根据 stackoverflow 中发布的其他帖子,我的设置是正确的,我缺少什么?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)