我使用java配置的spring boot,web MVC和spring security。我的网址是“RESTful”,并希望添加自定义授权方法。
例如:
.antMatchers("/path/*/**").access("@myBean.authorise()")
我想实现这样的目标:
.antMatchers("/path/{token}/**").access("@myBean.authorise(token)")
我知道我可以通过HttpServletRequest
并手动删除路径,但我想避免这种情况!也不太热衷于方法级别的安全性,宁愿将配置保存在一个地方,因为我有很多控制器。
谢谢!
答案 0 :(得分:4)
您可以访问路径变量,只需在#
前添加前缀。在您的情况下,正确的语法是:
.antMatchers("/path/{token}/**").access("@myBean.authorise(#token)")
我不确定这是什么时候推出的,但我知道现在支持了。参考:https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#el-access-web-path-variables
答案 1 :(得分:-1)
我认为使用 AntPathMatcher (基于this)最接近的是:
/path/????????-????-????-????-????????????/**