2011-12-19 53 views
3

我剛剛讀完這篇頁面上的安裝說明走:
http://grails.org/plugin/spring-security-facebookGrails的 - 春保障/社會 - Facebook的插件setAccessToken和getAccessToken

我選擇爲AuthUser爲用戶域對象的名稱和AuthRole爲我的角色域對象名稱。在所有其他問題中,我選擇默認值或放入我的Facebook應用程序ID或Facebook應用程序密碼。

在這個過程結束時,我有一個AuthUser作爲我的用戶。我也有一個FacebookUser實現FacebookUserDomain。

當我嘗試運行該應用程序時,它告訴我我沒有在我的FacebookUser中實現getAccessToken或setAccessToken。這是FacebookUserDomain界面所要求的。這是正常的嗎?文件是否需要完成?處理這個問題的正確方法是什麼?

UPDATE
這是我嘗試用來解決問題的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 
    } 
} 

還收到此錯誤:配置Spring Security的核心... ... 完成配置Spring Security的核心

配置Spring Security的Facebook的... 錯誤:沒有道configired爲Facebook驗證 ERROR:停止配置Spring安全的Facebook 2011-12-19 19:17:30,261 [主]錯誤util.JDBCExceptionReporter - 未知科拉姆 n的 'where子句' 無法執行本地批量操作查詢 2011-2015 'deactivate_code' 12-19 19:17:30,496 [main] ERROR context.GrailsContextLoader - 錯誤execut ing bootstraps:找不到名爲[facebookId]的屬性[class lmfirst .AuthUser] org.codehaus.groovy.grails.exceptions.InvalidPropertyException:No property foun d for名稱[facebookId]類[類lmfirst.AuthUser] 在lmfirst.UtilService.createMayor(UtilService.groovy:20)

+0

註冊:注意:接受了答案,但仍然存在Spring Security部分的問題。 – BuddyJoe 2011-12-20 20:02:15

回答

2

你並不需要作出獲取/設置的accessToken,因爲它automaticaly通過的Groovy本身添加。有String accessToken就足夠了

至於Facebook的Auth dao - 你執行grails s2-init-facebook?它會爲您生成默認的Dao實現,並在conf/spring/resources.groovy

+0

好的。可能會在這裏遇到Spring Security的東西。我試圖去我的主要「主頁」的網站,我得到一個500錯誤。 org.springframework.security.authentication.BadCredentialsException:簽名無效。我錯過了什麼?我是否需要允許未經過身份驗證的請求才能訪問此頁面?我怎麼做? – BuddyJoe 2011-12-20 13:59:32

+0

之前應該說過,我放棄了這兩種方法。並且默認的FacebookAuthDaoImpl在那裏。不知道爲什麼我第一次遇到問題。 – BuddyJoe 2011-12-20 14:08:34

+0

看起來像500 Bad Credentials錯誤來自FacebookCookieFilter。我不確定爲什麼它現在正在查找cookie,因爲我試圖請求的頁面「對所有人開放」,因爲它沒有控制器方法上的@屬性,對吧? +1 – BuddyJoe 2011-12-20 14:21:40