我正在开发一个插件(MyPlugin),它结合了一些安全功能,将其用作我下一个Grails应用程序的标准插件。它集成了Spring-Security-Core
和Spring-Security-UI
插件,通过安装,所有依赖项都应该通过在BuildConfig
中添加依赖项来自动安装:plugins { compile: ...}
到目前为止一切正常,但在MyPlugin中我通过覆盖Spring-Security-UI
来改变UserController
插件(用户域中的密码编码)的行为。执行MyPlugin会导致预期的行为,并使用正确的Controller创建新用户。
但是,在另一个Grails应用程序中安装MyPlugin时,此行为将失败,并使用UserController
插件的原始Spring-Security-Ui
。
我尝试通过在dependsOn
文件中配置loadAfter
和GrailsPlugin
属性来解决此问题,但没有取得任何成功。
有可能解决这个问题吗?或者只能覆盖主应用程序中的行为/控制器?
答案 0 :(得分:0)
Grails 2.2具有控制器的命名空间 http://grails.org/doc/2.2.0.RC1/guide/introduction.html#whatsNew22
所以你可以加入像
这样的东西def index() {
redirect controller: 'user', action: 'list', plugin: 'springSecurity'
}