【问题标题】: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)")
      

      【讨论】:

        猜你喜欢
        • 2016-10-08
        • 2019-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-17
        • 2014-01-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多