3

我刚刚完成了此页面上的安装说明:http:
//grails.org/plugin/spring-security-facebook

我选择 AuthUser 作为用户域对象名称,并选择 AuthRole 作为我的角色域对象名称。在所有其他问题中,我选择默认值或输入我的 Facebook App ID 或 Facebook App Secret。

在该过程结束时,我有一个 AuthUser 作为我的用户。我还有一个实现 FacebookUserDomain 的 FacebookUser。

当我尝试运行该应用程序时,它告诉我我还没有在我的 FacebookUser 中实现 getAccessToken 或 setAccessToken。这是 FacebookUserDomain 接口所要求的。这是正常的吗?文件需要填写吗?处理这个问题的正确方法是什么?

更新
这是我试图用来解决问题的 FacebookUser 类代码。

class FacebookUser implements FacebookUserDomain {
  long uid
  String secret
  String session
  String email
  String accessToken

  static belongsTo = [user: AuthUser]

  static constraints = {
    uid unique: true
  }

  public String getAccessToken() {
    return accessToken
  }

  public void setAccessToken(String accessToken) {
    this.accessToken = accessToken
  }
}

也得到这个错误:Configuring Spring Security Core ... ...完成配置Spring Security Core

配置 Spring Security Facebook ... 错误:没有为 Facebook Auth 配置 dao 错误:停止配置 Spring Security Facebook 2011-12-19 19:17:30,261 [main] 错误 util.JDBCExceptionReporter - Unknown column n 'deactivate_code' in ' where 子句'无法执行本机批量操作查询 2011-12-19 19:17:30,496 [main] ERROR context.GrailsContextLoader - 执行引导程序时出错:找不到类 [class lmfirst .AuthUser] org 的名称 [facebookId] 的属性.codehaus.groovy.grails.exceptions.InvalidPropertyException:在 lmfirst.UtilService.createMayor(UtilService.groovy:20) 中找不到类 [class lmfirst.AuthUser] 的名称 [facebookId] 的属性

4

1 回答 1

2

您不需要为 accessToken 进行 get/set,因为它是由 Groovy 自己自动添加的。有String accessToken就够了

As about Facebook Auth dao - did you executed grails s2-init-facebook? It generates default Dao implementation for you, and register it at conf/spring/resources.groovy

于 2011-12-20T08:13:49.557 回答