我正在使用Grails Spring Security Core插件,现在通过针对Spring Security Core的Facebook身份验证添加了Facebook身份验证。我可以通过Facebook进行身份验证,但是它始终会重定向回错误的URL。我想重定向到localhost:8080/rar/user/home
,但是登录后我重定向到localhost:8080/rar/#_=_
。通过标准登录表单登录时,我已正确重定向到localhost:8080/rar/user/home
。
我的FB应用程序设置的站点URL带有http://localhost:8080/rar/
。我正在使用以下插件:
compile ':spring-security-core:2.0-RC2'
compile ":spring-security-ui:1.0-RC1"
compile ":spring-security-facebook:0.15.2-CORE2"
并具有以下配置设置:
grails.plugin.springsecurity.successHandler.defaultTargetUrl = '/user/home'
grails.plugin.springsecurity.facebook.filter.type='redirect'
grails.plugin.springsecurity.facebook.domain.classname='mvp.FacebookUser'
grails.plugin.springsecurity.facebook.domain.appUserConnectionPropertyName='user'
grails.plugin.springsecurity.facebook.appId='<APPID>'
grails.plugin.springsecurity.facebook.secret='<SECRET>'
grails.plugin.springsecurity.facebook.filter.redirect.failureHandler='redirectFailureHandlerExample'
grails.plugin.springsecurity.facebook.autoCreate.roles=['ROLE_USER', 'ROLE_FACEBOOK']
我认为这个问题无关紧要,但是我有一个FacebookAuthService,它实现create()来搜索与Facebook用户具有相同电子邮件地址的现有用户,并在找到一个帐户时合并它们。目前,我的redirectFailureHandlerExample不执行任何操作,只记录一条消息,该消息从未被击中。
任何帮助,不胜感激!
最佳答案
您也应该在config.groovy中设置以下设置
grails.plugin.springsecurity.facebook.filter.redirect.successHandler='redirectSuccessHandlerExample'
在resources.groovy上:
beans = {
redirectSuccessHandlerExample(org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler) {
defaultTargetUrl = '/rar/user/home'
}
}
关于facebook - Grails Spring Security Facebook插件重定向到错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24725620/