【问题标题】:j_spring_security_check not invoked in tomcatj_spring_security_check 未在 tomcat 中调用
【发布时间】:2016-09-09 03:07:34
【问题描述】:

我正在使用带有 myfaces 2.2.10 和 primefaces 5.3 的 Tomcat 8.5.4。当我打开登录屏幕并按下登录按钮时,我的本地服务器工作正常(尝试独立运行和 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 版本没有任何关系,我尝试了不同的版本,但行为是相同的......

【问题讨论】:

  • 所以它适用于 mojarra?
  • 正如我在回答我自己的问题时所解释的那样,我的问题与 tomcat 配置有关,而不是 JSF。将 maxPostSize 设置为 -1 后,一切正常。

标签: spring tomcat myfaces


【解决方案1】:

对于那些有同样问题的人,我发布了我的解决方案。

当然,导致这种行为的原因可能有数百万个,但在我的情况下,它是 tomcat 配置...在 server.xml 的连接器配置中,我已经设置了

    maxPostSize="0" 

我认为错误意味着没有限制,但是我应该设置

    maxPostSize="-1"

这导致服务器从请求中删除了 post 有效负载......并让我很头疼:)

【讨论】:

    猜你喜欢
    • 2013-05-03
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 2015-07-26
    • 2015-02-12
    • 1970-01-01
    • 2014-06-29
    • 2013-02-18
    相关资源
    最近更新 更多