从 Grails 插件覆盖控制器
Posted
技术标签:
【中文标题】从 Grails 插件覆盖控制器【英文标题】:Override controller from Grails Plugin 【发布时间】:2014-09-07 10:55:49 【问题描述】:我使用的是 Grails 2.0.4,我正在使用的插件项目中有一个 LoginController,而不是 SpringSecurity 的 Login Controller。
现在我正在迁移到 Grails 2.4.2,但它不再工作了。
当我将控制器放入项目中时它起作用了,但我想将它放回插件项目中。
关于如何强制它的任何想法?
【问题讨论】:
【参考方案1】:在您的 URL 映射中,您可以明确说明您要映射到哪个登录控制器:
// grails-app/conf/UrlMappings.groovy
class UrlMappings
static mappings =
'/alphaLogin'
controller = 'login'
plugin = 'alpha'
'/betaLogin'
controller = 'login'
plugin = 'beta'
当然,您不必同时提供两者的映射。你可以只映射到你想要的,而不提供到另一个的路线。
【讨论】:
成功了! :) 谢谢。我只有两个问题:一个关于插件名称。我的插件定义为“myplugin”,但我不得不在 URLMappings 中把它写成“myPlugin”。第二个是我还必须在应用程序内从默认包移动到另一个包。以上是关于从 Grails 插件覆盖控制器的主要内容,如果未能解决你的问题,请参考以下文章
Grails 3 Spring Security 覆盖登录表单