如何在spring表达式语言中获取请求URL?

时间:2017-02-13 09:57:22

标签: java spring spring-el

如何以spring表达式语言获取请求网址?

这是我的Spring安全配置代码:

.antMatchers("/users/location/**").access("principal.locations.contains('locationIdFromUrl')")

我的表达有效,但我不知道如何在/ location之后获取url变量。 我需要这个变量将它传递给contains方法。

2 个答案:

答案 0 :(得分:1)

在Config Class中无法访问URL参数,您可以使用过滤器以逻辑方式执行此任务。

伪代码

.addFilterBefore(new DeviceResolverRequestFilter(), LocationAccessFilter.class)

LocationAccessFilter 包含位置访问逻辑。

答案 1 :(得分:0)

好的,我解决了我的问题。

antMatchers("/users/location/{id}/**").access("principal.locations.contains(#id)")