【问题标题】:Grails 3.3.10 urlmapping doesn't work anymoreGrails 3.3.10 urlmapping 不再起作用
【发布时间】:2019-10-07 12:05:33
【问题描述】:

我刚刚将我的应用程序更新到 grails 3.3.10。 这是一个使用 spring security 3.2.3 的简单应用程序。 我的网址映射是这样的:

class UrlMappings {

    static mappings = {
        "/$controller/$action?/$id?(.$format)?" {
            constraints {
                // apply constraints here
            }
        }

        "/"(controller: "home", action: "index")
        "500"(controller: "error", action: "error500", [params: params])
        "404"(view: '/error/notFound')
    }
}

从 3.3.9 更新到 3.3.10 后,/ 不再重定向到家庭控制器。 如果我回滚它,那么它会再次起作用。 grails 网站上的文档有 3.3.10 版本的断开链接。他们改变了一些东西,或者在我看来这是一个错误。有什么想法吗?

更新 感谢@MiloBen,我向前迈出了一步,现在我似乎被重定向到主页,但现在我在主页上得到了 403。让我回顾一下。 我的 UrlsMapping.groovy 是一样的,见上文。 我的 application.groovy 现在是这样的:

[pattern: '/', access: ['permitAll']],
[pattern: '/error', access: ['permitAll']],
[pattern: '/login/**', access: ['permitAll']],
[pattern: '/assets/**', access: ['permitAll']],
[pattern: '/home/**', access: ['permitAll']]

我现在不知道是什么问题,似乎 permitAll 应该启动并让我看到我的主页 /home,它是由 UrlMapping 重定向到 / 的。

【问题讨论】:

  • 您可以尝试将 HomeController 的映射向上移动(在通用映射之前)吗?
  • 试过了,但同样的问题。谢谢

标签: spring grails spring-security


【解决方案1】:

我遇到了同样的问题,因为我有一个 index.gsp 从原始创建中遗留下来。删除 index.gsp 后,我的家乡路线就可以工作了。

【讨论】:

  • 很遗憾我没有留下 index.gsp
【解决方案2】:

我有类似的问题。

在文件grails-app/conf/application.groovy 中我找到了以下几行:

    [pattern: '/index', access: 'permitAll'],
    [pattern: '/index.gsp', access: 'permitAll'],

我没有 index.gsp 文件提到的行,但它在 grails 3.3.8 中以某种方式工作,并开始在 3.3.10 中失败。删除这两行解决了我的问题。

【讨论】:

  • 感谢 Milo,它似乎可以工作,但现在我在到达主页时收到 403。我更新了原来的问题
【解决方案3】:

我也遇到了类似的问题,暂时使用 grails 3.3.9。

这是一个已知问题,在最新的快照版本中有修复。

https://github.com/grails/grails-core/commit/26aff5a534f41e7756b012de36b5a362a2f6b588#diff-a2f510398df3ed2953f2cb6f233684fb

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多