Spring MVC REST和web.xml安全性约束问题

时间:2014-12-04 11:45:55

标签: java spring spring-mvc tomcat

我使用Spring MVC 3.2实现了REST服务。使用DIGEST身份验证的标准安全约束来保护所有URL:

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Secure</web-resource-name>
            <url-pattern>/update/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>update</role-name>
        </auth-constraint>
    </security-constraint>

    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>Secure</realm-name>
    </login-config>

我只实现了GET,HEAD和OPTIONS操作,因此我希望所有剩余的操作都返回405 - 不支持Request方法。

理论上,这是默认行为,如果我不使用安全约束保护webapp,它就可以工作。但是,使用受保护的Web应用程序,PUT和DELETE返回403,PATCH操作返回501.其余操作按预期工作。

调试我已经看到,在这些情况下,请求没有到达Spring DispatcherServlet,所以我猜它必须是Tomcat的奇怪之处。顺便说一下,我使用的是Tomcat 7,但我已经看到了与Tomcat 6相同的行为。

0 个答案:

没有答案