我想为Facebook登录编写一个过滤器,而不使用Facebook插件。对于Facebook身份验证,我将使用Spring Social Facebook进行annoation配置。
问题是编写过滤器的人。
我试过了:
类FacebookAuthFilter扩展了AbstractAuthenticationProcessingFilter {
public FacebookAuthFilter() {
super("/j_facebook_security_check")
println "constructor"
}
@Override
public Authentication attemptAuthentication(HttpServletRequest arg0,
HttpServletResponse arg1) throws AuthenticationException,
IOException, ServletException {
println "attemptAuthentication"
return null;
}
}
在Bootstrap.goovy
SpringSecurityUtils.registerFilter ('facebookAuthFilter', SecurityFilterPosition.SECURITY_CONTEXT_FILTER.order + 10)
在resources.groovy
facebookAuthFilter(FacebookAuthFilter) {
authenticationManager = ref('authenticationManager')
rememberMeServices = ref('rememberMeServices')
}
在服务器启动时,我可以看到"构造函数"在控制台。但不是"尝试认证"。
如何输入attemptAuthentication()?我想要地图" / auth / facebook"尝试验证()方法。
由于
编辑:
嗨,伊戈尔,不幸的是,它没有用。
public FacebookAuthFilter() {
super("/myapp/facebook")
println "constructor"
}
@Override
public Authentication attemptAuthentication(HttpServletRequest arg0,
HttpServletResponse arg1) throws AuthenticationException,
IOException, ServletException {
println "attemptAuthentication"
return null;
}
然后我去
http://localhost:8080/myapp/facebook
空白页面和控制台: 2014-09-26 18:09:57 [localhost]。[/ myapp]初始化Spring FrameworkServlet' grails-errorhandler'