【问题标题】:How can I get request url in spring expression language?如何获取 Spring 表达式语言中的请求 url?
【发布时间】:2017-02-13 09:57:21
【问题描述】:
如何获取spring表达式语言的请求url?
这是我在 spring 安全配置中的一段代码:
.antMatchers("/users/location/**").access("principal.locations.contains('locationIdFromUrl')")
我的表达式有效,但我不知道如何在 /location 之后获取 url 变量。
我需要这个变量来将它传递给 contains 方法。
【问题讨论】:
标签:
java
spring
spring-el
【解决方案1】:
在 Config Class 中无法访问 URL 参数,您可以使用过滤器在逻辑上执行此任务。
伪代码
.addFilterBefore(new DeviceResolverRequestFilter(), LocationAccessFilter.class)
其中LocationAccessFilter包含位置访问的逻辑。
【解决方案2】:
好的,我解决了我的问题。
antMatchers("/users/location/{id}/**").access("principal.locations.contains(#id)")