Java 带有路径变量和ant matcher的Spring安全自定义方法

Java 带有路径变量和ant matcher的Spring安全自定义方法,java,spring,spring-mvc,spring-security,Java,Spring,Spring Mvc,Spring Security,我正在使用SpringBoot、WebMVC和SpringSecurity以及java配置。我的URL是“RESTful”,希望添加自定义授权方法 例如: .antMatchers("/path/*/**").access("@myBean.authorise()") 我想实现这样的目标: .antMatchers("/path/{token}/**").access("@myBean.authorise(token)") 我知道我可以传入HttpServletRequest并手动剥离路径,

我正在使用SpringBoot、WebMVC和SpringSecurity以及java配置。我的URL是“RESTful”,希望添加自定义授权方法

例如:

.antMatchers("/path/*/**").access("@myBean.authorise()")
我想实现这样的目标:

.antMatchers("/path/{token}/**").access("@myBean.authorise(token)")
我知道我可以传入
HttpServletRequest
并手动剥离路径,但我希望避免这种情况!也不太热衷于方法级别的安全性,我宁愿将配置保存在一个地方,因为我有许多控制器


谢谢

您可以访问路径变量,只需在它们前面加上
#
。在您的情况下,正确的语法是:

.antMatchers("/path/{token}/**").access("@myBean.authorise(#token)")
我不确定这是什么时候引入的,但我知道它现在得到了支持。参考: