Vaadin7带有grails插件和ProxyAwareMixedGrailsControllerHelper

时间:2014-03-29 22:41:33

标签: grails spring-security vaadin7

使用带有grails的Vaadin7应用程序(感谢Ondrej的插件)。当我在Vaadin组件中实现业务逻辑时,我也对使用grails控制器运行经典MVC模式的管理控制台感兴趣,以便管理用户,日志和其他事件。

然后,在VaadinConfig中,我已经将URL映射添加到grails控制器(包括下面的spring-security-ui):

  mappingExtras = [
             '/console/*',
             '/user/*',
             '/role/*',
             '/securityInfo/*'
    ]

它非常适合显示列表并从数据库中检索数据,但是当我需要将params传递给控制器​​以便保存或更新域对象时失败。因此我收到以下错误:

java.lang.IllegalArgumentException: Method name must not be null
    at grails.plugin.cache.web.ProxyAwareMixedGrailsControllerHelper.retrieveAction(ProxyAwareMixedGrailsControllerHelper.java:41)
    at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
    at grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter.doFilter(RequestHolderAuthenticationFilter.java:49)
    at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:82)
    at grails.plugin.springsecurity.web.filter.DebugFilter.invokeWithWrappedRequest(DebugFilter.java:102)
    at grails.plugin.springsecurity.web.filter.DebugFilter.doFilter(DebugFilter.java:69)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

在这种情况下,有没有办法轻松代理控制器?如何摆脱ProxyAwareMixedGrailsControllerHelper错误并注入params?

非常感谢

1 个答案:

答案 0 :(得分:0)

我的插件存在类似问题,并为其提交了一个JIRA。当您用标签指出时,这似乎与弹簧安全性有关。如果您想对其进行评分,请包括JIRA链接...

https://jira.grails.org/browse/GRAILS-11461