grails 4 url root 映射不工作
grails 4 url mapping for root not working
在 url 映射中:
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/index"(controller: 'home', action: 'index')
"/"(controller: 'home', action: 'index')
如果用户使用根索引url,它会很好地重定向。
控制器 + 动作重定向正常。
但是根 ("/") 本身不会重定向到家庭控制器。
我也在使用 spring 安全性
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
[pattern: '/', access: ['permitAll']],
[pattern: '/index', access: ['permitAll']]
]
我缺少什么简单的东西?
最可能的原因是您没有在配置的 staticRules 中启用 permitAll /home/index。 Spring 安全性遵循悲观锁定方法,默认情况下拒绝访问所有 URL。
我在映射根目录时遇到了同样的问题,到目前为止我发现的唯一解决方法是用 uri: 替换控制器和操作,例如
"/"(uri: "/home/index") // in place of (controller: 'home', action: "/index")
对我来说,这是由于在 Grails 4.0.0 中引入 org.grails.plugins:grails-google-visualization:2.2.1
造成的。
除了禁用 grails-google-可视化插件外,没有找到解决方法。
似乎插件 modifies/overwrites UrlMapping.
在 url 映射中:
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/index"(controller: 'home', action: 'index')
"/"(controller: 'home', action: 'index')
如果用户使用根索引url,它会很好地重定向。
控制器 + 动作重定向正常。
但是根 ("/") 本身不会重定向到家庭控制器。
我也在使用 spring 安全性
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
[pattern: '/', access: ['permitAll']],
[pattern: '/index', access: ['permitAll']]
]
我缺少什么简单的东西?
最可能的原因是您没有在配置的 staticRules 中启用 permitAll /home/index。 Spring 安全性遵循悲观锁定方法,默认情况下拒绝访问所有 URL。
我在映射根目录时遇到了同样的问题,到目前为止我发现的唯一解决方法是用 uri: 替换控制器和操作,例如
"/"(uri: "/home/index") // in place of (controller: 'home', action: "/index")
对我来说,这是由于在 Grails 4.0.0 中引入 org.grails.plugins:grails-google-visualization:2.2.1
造成的。
除了禁用 grails-google-可视化插件外,没有找到解决方法。
似乎插件 modifies/overwrites UrlMapping.