繁体   English   中英

Grails 3拦截器作为插件

[英]Grails 3 Interceptors as a plugin

我正在尝试将Grails 2控制器过滤器转换为Grails 3拦截器。 拦截器位于Grails插件中。 Grails 3升级已完成,当我将代码复制并粘贴到应用程序中(只是为了验证它是否有效)时,我会看到拦截器的输出。

但是,如果我尝试通过插件将该代码插入应用程序,则拦截器不会运行。 我可以验证插件是否已被拉出; 当我点击一个动作时,它的拦截器不会被调用。

例如,如果插件为:

// If added to app directly, works fine. As plugin, not invoked.
class SimpleInterceptor {
    SimpleInterceptor() {
        matchAll()
    }

    boolean before() {
      println 'test' // Does not print if using plugin
    }
}

控制器是一个简单的动作:

def index() {
   render 'success'
}

我需要以某种方式注册它以便拦截器在应用程序上工作吗? 我错过了一步吗?

感谢@vahid指出了执行类似操作的存储库。 原来是我升级插件的*Plugin.groovy文件时没有扩展grails.plugins.Plugin 请务必这样做,否则插件可能不会被应用程序接收。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM