我正在使用Tomcat 8.5.4和myfaces 2.2.10以及primefaces 5.3。当我打开登录界面并按下登录按钮时,我的本地服务器工作正常(尝试独立运行和eclipse运行),日志中可以看到以下内容:
...web.controller.LoginController] - <Validating login>
...AntPathRequestMatcher] - <Checking match of request : '/j_spring_security_check'; against '/external/**'>
此后,事务开始,并按预期对数据库验证用户。
然而当我将整个Tomcat发行版复制到远程服务器并部署相同的应用程序时,j_spring_security_check不再执行:
[org.springframework.faces.support.RequestLoggingPhaseListener] -
<Entering JSF Phase: RESTORE_VIEW(1)>
[org.springframework.faces.support.RequestLoggingPhaseListener] -
<Entering JSF Phase: RENDER_RESPONSE(6)>
[...web.controller.LoginController] - <No error messages during validation>
然后重新加载登录屏幕。
任何人都可以帮助我为什么相同服务器和相同应用程序的行为存在差异?任何想法都表示赞赏!
我很确定它与myfaces或primefaces版本没有任何关系,我尝试了不同的版本,但行为是一样的......
答案 0 :(得分:0)
对于那些有相同问题的人,我发布了我的解决方案。
当然导致这种行为可能有数百万个原因但在我的情况下是tomcat配置...在server.xml中的Connector配置中我设置了
maxPostSize="0"
我认为错误意味着没有限制,但我应该设置
maxPostSize="-1"
这导致服务器从请求中削减后有效负载......并引起了很多麻烦:)