分享好友 站长动态首页 网站导航

URL匹配RequestMatcher接口详解

网友发布 2023-09-12 03:55 · 头闻号竞价资讯

匹配 HttpServletRequest 的简单策略接口 RequestMatcher ,其下定义了 matches 方法,如果返回是true表示提供的请求与提供的匹配规则匹配,如果返回的是false则不匹配。

RequestMatcher其实现类:

其javadoc描述如下:

所谓Apache Ant的样式路径,有三种通配符的匹配方式

做url匹配的时候,不需要加上 context path ,只匹配 servletPath + pathInfo ,关于 context path , servletPath , pathInfo 的讲解在第一节已经讲解过了,想了解详细可以去查看。

定义了 servletPath 为 /v1

发现虽然我们配置了context path,但是在权限配置中是不需要配置context path,servletPath需要配置

secuity-quickstart-url01

其javadoc描述如下:

MvcRequestMatcher 是根据 server_path 来匹配的。

配置类和上面都差不多,不一样的是下面的类,

servletPath配置的三种模式,

第一种配置方式 servlet Path 为空

第二种配置方式 servlet Path /aaa, /aaa/bbb/

第三种配置方式servlet Path /.do, /.action

这三种情况只有第二种需要去配置servletPath,其他二种都不需要。具体配置的时候自己去调试一下。

MvcRequestMatcher和AntPathRequestMatcher的区别:

如果配置了servlet_path,那么AntPathRequestMatcher在配置antMatchers的时候需要加上servlet_path,比如如果加了

那么antMatchers("/v1/hello"),而mvcMatchers不需要加上servlet_path

secuity-quickstart-url02

匹配所有的请求

secuity-quickstart-url03

spring secuity提供了 requestMatchers 入口让我们自定义自己的 RequestMatcher 实现类

secuity-quickstart-url03

我们看看 WebSecurityConfigurerAdapter 类中的 configure 默认的实现是什么:

我们看到了任何请求需要认证以表单的形式,以 httpbasic 的方式进行认证。

官方文档

Spring Security 从入门到进阶系列教程

免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报

举报
反对 0
打赏 0
更多相关文章

评论

0

收藏

点赞