grails spring安全过滤器如何工作

时间:2014-09-23 05:11:01

标签: grails spring-security

我想为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'

0 个答案:

没有答案