如何将Spring MVC端点的Ant Matcher转换为MVC请求匹配器(XML配置)
解决方案:将Spring Security XML配置从Ant匹配器改为MVC请求匹配器
要满足Fortify的建议,你只需要在Spring Security XML配置的相关元素中添加request-matcher="mvc"属性,让配置使用Spring MVC原生的路径匹配规则,而非默认的Ant风格匹配器。
修改后的配置代码
<!-- 修正拼写错误:sfuecurity → security,并添加request-matcher="mvc" --> <http pattern="/fu.jsp" security="none" request-matcher="mvc" /> <http pattern="/bar/**" security="none" request-matcher="mvc" /> <intercept-url pattern="/fubarLogins" access="allAccess" request-matcher="mvc" />
关键说明
request-matcher="mvc"会让Spring Security使用与Spring MVC一致的路径解析逻辑,比如自动处理URL后缀(如.html、.json)、路径参数匹配等,比Ant匹配器更贴合实际的MVC路由行为,避免因匹配规则不一致导致的安全盲区。- 注意修正原配置中的拼写错误:第一个
<http>标签里的sfuecurity是笔误,需改为security,否则配置不生效。
额外注意事项
- 确保你的Spring Security版本支持
request-matcher属性(Spring Security 3.2及以上版本均支持)。 - 如果你的Spring MVC配置了自定义的路径匹配策略(如
PathMatcher),MVC请求匹配器会自动复用该策略,无需额外配置。
内容的提问来源于stack exchange,提问作者Jack Parker
相关产品推荐
相关产品推荐

