1
我正在與彈簧安全核心2.0RC2插件的Grails(2.3.5)webapp。 我嘗試在此custom-security-filter-for-grails-spring-security-3-plugin之後創建一個自定義過濾器,類似於這個計算器後過程3392552。這個代碼和平正在更好,如果Grails的彈簧安全插件的版本是1.2.7.3,比如果版本是2.0RC2的web應用程序沒有啓動,並在日誌包含此錯誤:自定義篩選攔截器和Grails的彈簧安全2.0rc2插件
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過濾器,但錯誤是一樣的。
感謝您的回覆
當我準備testapp時,我意識到它似乎工作!經過非常長的調試會話後,我發現問題:如果設置了這個過濾器攔截器不起作用grails.plugin.springsecurity.debug.useFilter = true 我不知道這是否是錯誤(但我打開了一個問題)或不。解決方法是不使用調試過濾器,似乎都工作正常。 – alessandro
這是一個錯誤,並已修復爲2.0。正如您所指出的那樣,如果您有自定義過濾器,則此時的解決方法是不使用調試過濾器功能。 –