【问题标题】:Custom Filter Interceptor and Grails spring-security 2.0rc2 plugin自定义过滤器拦截器和 Grails spring-security 2.0rc2 插件
【发布时间】:2014-04-07 11:22:15
【问题描述】:

我正在开发一个带有 spring security core 2.0RC2 插件的 grails (2.3.5) webapp。 我尝试在此custom-security-filter-for-grails-spring-security-3-plugin 之后创建一个自定义过滤器,类似于此 stackoverflow 帖子3392552。如果 grails spring-security 插件的版本是 1.2.7.3,这种代码的和平工作得更好,如果版本是 2.0rc2,webapp 不会启动并且日志包含这个错误:

java.lang.ClassCastException: grails.plugin.springsecurity.web.filter.DebugFilter cannot be cast to org.springframework.security.web.FilterChainProxy
at grails.plugin.springsecurity.SpringSecurityUtils.clientRegisterFilter(SpringSecurityUtils.java:454)
at BootStrap$_closure1.doCall(BootStrap.groovy:37)
at grails.util.Environment.evaluateEnvironmentSpecificBlock(Environment.java:308)
at grails.util.Environment.executeForEnvironment(Environment.java:301)
at grails.util.Environment.executeForCurrentEnvironment(Environment.java:277)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

我尝试创建一个简单的 servlet 过滤器,但错误是一样的。

感谢回复

【问题讨论】:

    标签: grails spring-security


    【解决方案1】:

    这可能是一个错误。请创建一个演示问题的小型测试应用程序并运行“grails bug-report”。将生成的 zip 附加到 http://jira.grails.org/browse/GPSPRINGSECURITYCORE 的问题中,我会看一下。

    【讨论】:

    • 当我准备testapp时,我意识到它似乎工作!经过很长的调试会话后,我发现了问题:如果设置为 grails.plugin.springsecurity.debug.useFilter = true,则过滤器拦截器不起作用我不知道这是否是错误(但是我打开了一个问题)或不是。一种解决方法是不使用调试过滤器,一切似乎都正常。
    • 这是一个错误,已在 2.0 中修复。正如您所指出的,在此之前的解决方法是如果您有自定义过滤器,则不要使用调试过滤器功能。
    猜你喜欢
    • 1970-01-01
    • 2016-08-16
    • 2011-08-23
    • 2014-07-28
    • 1970-01-01
    • 2013-07-22
    • 2020-11-04
    • 2012-02-15
    • 2014-10-24
    相关资源
    最近更新 更多