【问题标题】:How do I access UrlMapping variables in grails from a filter?如何从过滤器访问 grails 中的 UrlMapping 变量?
【发布时间】:2013-12-13 07:55:29
【问题描述】:

我正在使用 Grails 2.1.5 和 Spring Security Core 插件。 我重写了 WebSecurityExpressionRoot 以将 hasPermission 方法的 2 个签名添加到 Web 表达式范例。 此方法通过 applicationContext 中的名称委托给类,并使用请求作为参数和任意字符串调用它们,以便在需要时提供更多详细信息。

在我的委托类中,我需要能够访问参数以评估用户是否可以访问所请求的资源,这很好,但请求尚未包含从 UrlMappings 定义的变量。

我尝试从 applicationContext 获取 grailsUrlMappingsHolder,但是当我使用有效 uri 调用它的 match 方法时,我什么也得不到。

我的时间不多了,如果没有有效的请求参数,我可能不得不自己解析 request.getRequestURI() 以尝试推断 id,但这不会在 id 不是最后一个的地方映射 url。

我真的不想在这里重新发明轮子,我不想错过充分利用 UrlMappings 的潜力,但他们定义的变量(在我的情况下)在我进入控制器之前不可用。

【问题讨论】:

  • 如果我没理解错,您需要访问隐藏在 url 中的参数。如果你定义像 /some/url/$myParam 这样的 url,你应该在 params 对象中有 myParam

标签: grails spring-security


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2010-10-04
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多