【问题标题】:Tomcat7 failed to deploy a web application CSRF TokenTomcat7 未能部署 Web 应用程序 CSRF Token
【发布时间】:2017-12-18 16:02:23
【问题描述】:

我使用 spring mvc 和 spring security 开发了 java 应用程序。 当我在 tomcat7 上上传和部署 WAR 文件时,它失败并在 url 中给我这个消息:

manager/html/upload?org.apache.catalina.filters.CSRF_NONCE=982F861CA67920658BC340994D5B7A32

如何解决问题并正确上传我的网络应用程序?

[已编辑] 我的代码:

  <http auto-config="true" use-expressions="true">
    <csrf/>
    <!-- custom login -->
    <form-login login-page="/login" login-processing-url="/login" username-parameter="custom_email"
                password-parameter="custom_password" authentication-failure-url="/login?error=true"/>
    <remember-me key="remember-me"/>

    <!-- css and js-->
    <intercept-url pattern="resources/cms/**" access="permitAll"/>
    <intercept-url pattern="resources/home/**" access="permitAll"/>
    <intercept-url pattern="/wro/**" access="permitAll"/>

    <intercept-url pattern="/cms/**" requires-channel="any" access="hasRole('ROLE_ADMIN')"/>
    <intercept-url pattern="/account/**" requires-channel="any" access="isAuthenticated()"/>
    <intercept-url pattern="/cart/**" requires-channel="any" access="isAuthenticated()"/>
    <intercept-url pattern="/checkout/**" requires-channel="any" access="isAuthenticated()"/>

    <logout logout-url="/logout" logout-success-url="/login"/>
    <!--<csrf disabled="true"/>-->

</http>

<authentication-manager>
    <authentication-provider user-service-ref="customUserDetailsService">
        <password-encoder ref="passwordEncoder"/>
    </authentication-provider>
</authentication-manager>

【问题讨论】:

  • 这可能根本与spring-security无关。实际的错误信息是什么? Tomcat 日志文件说明了什么?
  • 是的,我知道。在日志文件中是我发布的相同消息:org.apache.catalina.filters.CSRF_NONCE=982F861CA67920658BC340994D5B7A32

标签: java spring spring-mvc tomcat spring-security


【解决方案1】:

编辑你的 Spring-security.xml

<http auto-config="true" use-expressions="true">
       ...
       <csrf disabled="true"/>          
</http>

【讨论】:

  • 虽然我尝试了你的解决方案但它没有用,但它并没有制作场景......我确实希望我的应用程序受到 CSRF 保护!。
  • 好的,那么你可以这样做: ... 如果这不能解决你的问题,请发布更多代码。
  • 还是一样的:(
  • ok checkout my security-context.xml 我已经编辑了我的问题。
  • 将你的 声明移动到 http 标签的末尾
猜你喜欢
  • 1970-01-01
  • 2012-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-17
相关资源
最近更新 更多