Grails 2.4 spring-security-facebook:0.15.2-CORE2重定向错误 - 在提交响应后无法调用sendError()

时间:2014-07-15 02:24:12

标签: grails plugins spring-security upgrade spring-social-facebook

我刚刚将我的一个项目从grails 2.3.5升级到2.4.2并且正好 所有插件(如下所示在我的buildConfig中)才能正常工作。

plugins {
    // plugins for the build system only
    build ":tomcat:7.0.54"
    // plugins for the compile step
    compile ":aws:1.6.7.5"
    compile ":console:1.3"
    compile ":mongodb:3.0.1"
    compile ":rest:0.8"
    compile ":scaffolding:2.1.2"
    compile ':spring-security-core:2.0-RC3'
    compile ":spring-security-ui:1.0-RC2"
    compile ':cache:1.1.7'

    // plugins needed at runtime but not for compilation
    // runtime ":hibernate:3.6.10.7" // or ":hibernate4:4.1.11.6"
    runtime ":database-migration:1.4.0"
    runtime ":jquery:1.11.1"
    compile ":asset-pipeline:1.8.11"

    runtime ":pretty-time:0.3"
    runtime ":mail:1.0.6"

    compile "org.grails.plugins:spring-security-facebook:0.15.2-CORE2"
    compile ":grails-melody:1.49.0"
}

该项目运行正常但Facebook插件还没有。 我正在使用FacebookAuthRedirectFilter(默认值)。但是当我点击了 在视图中连接按钮,请求被FacebookAuthRedirectFilter拦截 正如所料,输入if语句,facebookAuthUtils完美地准备了url 但之后视图应该重定向到facebook生成的url。

if (uri.equals(redirectFromUrl)) {    
    response.sendRedirect(facebookAuthUtils.prepareRedirectUrl(getAbsoluteRedirectUrl(), facebookAuthUtils.requiredPermissions))
        return false
}

但是我收到以下错误:

2014-07-14 22:14:39,838 [http-bio-8080-exec-7] ERROR [/].[default]  - Servlet.service() for servlet [default] in context with path [] threw exception
Message: Cannot call sendError() after the response has been committed
Line | Method
->>   91 | sendError in net.bull.javamelody.FilterServletResponseWrapper
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    203 | doFilter  in net.bull.javamelody.MonitoringFilter
|    181 | doFilter  in     ''
|     53 | doFilter  in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
|     49 | doFilter  in grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter
|     82 | doFilter  in grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker 
^    745 | run . . . in java.lang.Thread

0 个答案:

没有答案