如何以spring表达式语言获取请求网址?
这是我的Spring安全配置代码:
.antMatchers("/users/location/**").access("principal.locations.contains('locationIdFromUrl')")
我的表达有效,但我不知道如何在/ location之后获取url变量。 我需要这个变量将它传递给contains方法。
答案 0 :(得分:1)
在Config Class中无法访问URL参数,您可以使用过滤器以逻辑方式执行此任务。
伪代码
.addFilterBefore(new DeviceResolverRequestFilter(), LocationAccessFilter.class)
LocationAccessFilter 包含位置访问逻辑。
答案 1 :(得分:0)
好的,我解决了我的问题。
antMatchers("/users/location/{id}/**").access("principal.locations.contains(#id)")